我在eclipse中使用derby进行开发。是否可以从MySQL转储表并以某种方式将其用于德比?我知道ddl& dml对于两个dbms都是不同的,但我正在寻找一种合适的方法,而不是转储/导出。
答案 0 :(得分:3)
我可以找到两种选择;如果我理解你的问题,我认为至少有一个会涵盖你想要的东西。
如果您关注的是单个表中的数据(或其子集),请使用Derby tools documentation中指示的ij
(请参阅“使用批量导入和导出过程”)。可以使用所需格式的内在格式化命令从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。这不需要在Derby中重复的表定义,因为它会在DdlUtils的导入/导出过程中出现。
答案 1 :(得分:1)
除非您需要自动执行此过程,否则“DBCopy Plugin for SQuirreL SQL Client”工具可能适合您。可能还有其他工具,但这就是我所知道的工具(但从未使用过我自己)。
如果您确实需要自动化该过程,并且如果您不太关心DDL,那么我可能会使用CSV。
答案 2 :(得分:0)
要将数据从MySQL(生产环境)接管到Derby(开发环境),我使用以下命令:
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
但特别是在德比,我也有解除限制的问题。因此,insert语句必须按正确顺序排列!