2009-03-30 16 views
34

Czy ktoś ma jakieś wskazówki na temat narzędzi, które można wykorzystać do masowego ładowania danych przechowywanych w rozdzielanych plikach tekstowych do bazy danych SQLite?Ładowanie danych masowych do sqlite?

Idealnie coś, co można nazwać jako samodzielny program ze skryptu itp

Grupa pracuję ma bazy danych Oracle, że zamierza zrzucić kilka danych na zewnątrz do pliku, a następnie załadować te dane do bazy danych SQLite do użytku na urządzeniu mobilnym i szukają najprostszego sposobu na wdrożenie tego rodzaju scenariusza.

Odpowiedz

60

Sprawdź polecenie sql .import - robi to exacty.
Można ustawić separator z poleceniem .separator

sqlite3 myDatabase 
create table myTable (a, b, c); 
.separator ',' 
.import myFile myTable 
+5

wow. to o wiele lepszy wybór. Skasuję moją odpowiedź ze wstydem ... + 1 – MikeJ

+1

chciałbym skomentować, że uważam, że komentarz "w szkoda" był całkiem zabawny;) –

+0

+1 + Odpowiedź! Po prostu zauważyłem to, przeczesując moje stare pytania. Miły. –

1

Dlaczego chcesz plik tekstowy?

Po prostu użyj języka Java, który ma łatwo dostępne biblioteki dla dostępu Oracle i SQLite. Połącz się z obydwoma bazami danych i wybierz jedną z nich i wstaw do innej bez dodatkowej złożoności CSV, która nie jest bardzo dobrze zdefiniowanym formatem i da ci problemy z kodowaniem znaków, cytatami, comas/tabs lub średnikami, newlines itp. Twoje dane.

+0

postawić. Chcą jednego, ponieważ to jest ścieżka, o której myśleli. Zamierzam zasugerować to podejście (jako że byłoby to mądrzejsze ...) i zobaczyć, co z tego wyniknie. Mogą nie mieć doświadczonego Javy, w takim przypadku po prostu się tego nauczę i zrobię to. –

+2

Nie ma powodu, żeby to była Java, każdy inny język, który może używać zarówno bazy danych Oracle, jak i SQLite, może wykonać to zadanie. To prawie każdy ważny język. –

+0

Ponieważ sqlite blokuje zapisy, ładowanie z pliku może być przyjemne. Czy istnieje opcja ładowania zbiorczego bezpośrednio z interfejsu Java (lub innych głównych języków?) Bez zapisywania do pliku? – qwerty9967

Powiązane problemy