2010-09-11 34 views
5

我在eclipse中使用derby進行開發。是否有可能從MySQL轉儲表並以某種方式將其用於德比?我知道ddl & dml對於兩個dbms都是不同的,但我正在尋找一種方法,除了dump/export之外,這將是適當的。mysql dump into derby

回答

3

我可以找到兩個選項;如果我正確理解你的問題,我認爲至少有一個會涵蓋你正在尋找的東西。

如果您的重點是單個表中的數據(或其子集),請使用ij(如Derby tools documentation中所示)(請參閱「使用批量導入和導出過程」)。數據可以使用內部格式化命令以所需的格式從MySQL中提取,該格式顯示爲非常標準的CSV(這將要求您的Derby數據庫中已經存在適當的表)。

這裏有一個例子從MySQL論壇:

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

如果要導入的一切,Apache DdlUtils將使整個模式中從MySQL轉移到德比。這不需要Derby中的重複表定義,因爲它會作爲DdlUtils的導入/導出過程的一部分出現。

1

除非您需要自動執行此過程,否則「DBCopy Plugin for SQuirreL SQL Client」工具可能適用於您。可能還有其他的工具,但這是我所知道的(但是從來沒有用過我自己)。

如果您確實需要自動化該過程,並且如果您不太關心DDL,那麼我可能會使用CSV。

0

接管從MySQL(生產環境)德比(開發環境)的數據,我用下面的命令:

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 

但特別是在德比,我也曾經disalbing制約的問題。因此,插入語句必須按照正確的順序!