2010-09-11 12 views
5

Używam derby do rozwoju w czasie zaćmienia. Czy można zrzucić tabelę z MySQL i użyć jej w pewien sposób do derby? Wiem, że ddl & dml są różne dla obu dbms, ale szukam sposobu, inny niż dump/export, który byłby odpowiedni.mysql zrzutu na derby

Odpowiedz

3

Dostępne są dwie opcje; jeśli dobrze zrozumiem twoje pytanie, myślę, że przynajmniej jedno obejmie to, czego szukasz.

Jeśli fokus jest danymi (lub ich podzbiorem) z jednej tabeli, należy użyć ij, jak wskazano w Derby tools documentation (patrz "Korzystanie z ogólnych procedur importu i eksportu"). Dane można wyodrębnić z MySQL za pomocą wewnętrznych poleceń formatowania w wymaganym formacie, który wydaje się być dość standardowym plikiem CSV (wymagałoby to posiadania odpowiedniej tabeli już istniejącej w bazie danych Derby).

Oto przykład z forów MySQL:

SELECT a,b,a+b INTO OUTFILE '/tmp/result.text' 
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
FROM test_table; 

Jeśli chcesz zaimportować wszystko, Apache DdlUtils umożliwi przeniesienie całego schematu z MySQL do Derby. Nie wymagałoby to powtórnej definicji tabeli w Derby, ponieważ napotkałoby to część procesu importu/eksportu z DdlUtils.

1

Jeśli nie musisz automatyzować procesu, narzędzie "DBCopy Plugin for SQuirreL SQL Client" może działać. Są prawdopodobnie inne narzędzia, ale to ta, którą znam (jednak nigdy się nie używałem).

Jeśli potrzebujesz zautomatyzować proces, a jeśli nie zależy Ci zbytnio na DDL, prawdopodobnie użyłbym CSV.

0

do przejęcia danych z MySQL (środowisko produkcyjne) do Derby (środowisko programistyczne), używam następujące polecenia:

mysqldump -u root -h 127.0.0.1 --compatible=ansi --complete-insert --skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys --skip-set-charset --no-create-info dbname > export.sql 

Ale specjalnie w Derby, mam też problem disalbing ograniczeń. Dlatego instrukcje wstawiania muszą być we właściwej kolejności!