有没有办法将MS SQL,MySQL等数据库中的数据导入内存数据库,如HSQLDB,H2等?
答案 0 :(得分:2)
H2支持initialized the database from a SQL script file:
的特殊数据库网址"jdbc:h2:mem;INIT=RUNSCRIPT FROM '~/create.sql'"
据我所知,HSQLDB和Apache Derby不支持这样的功能。
答案 1 :(得分:1)
我认为你需要做
从MS SQL中查询数据
使用API
SQL表达式或与DB相关的API
答案 2 :(得分:1)
在Hibernate中:将import.sql添加到类路径很好,hbm2dll检查文件是否存在并执行它。唯一的细节是每个sql命令大多数在一行,否则它将无法执行
答案 3 :(得分:0)
您可以将数据转储为SQL INSERT语句,然后将其读回。
您可以读取临时对象(如结构),然后写回内部数据库。
答案 4 :(得分:0)
查看免费的“通用数据库转换器”http://eva-3-universal-database-converter-udc.optadat-com.qarchive.org/ - 它声称支持MySQL,MS-SQL和HSQLDB等。
答案 5 :(得分:0)
这实际上取决于你的想法。 是否有一个工具可以自动完成而无需编程?也许
你想发展它吗?然后找出你最喜欢的语言是否同时支持数据库引擎(标准和内存),如果支持,只需编写一个执行它的脚本。 以块的形式处理所有内容(一次获取 n 行,然后插入它们;重复)。块大小有多大?这取决于你,尝试不同的尺寸(比如100,500,1k等),看看哪一款在硬件上表现更好,微调到最佳位置。
如果您最喜欢的语言不支持这两种语言,请尝试使用其中的语言。
答案 6 :(得分:0)
您可以使用dbunit将数据库转储到xml文件并将其导回到另一个rdbms。
答案 7 :(得分:0)
最新版本的HSQLDB允许您在HSQLDB中打开CSV(逗号分隔值)或其他分隔符分隔数据文件作为TEXT TABLE,即使使用mem:databases,也可以将其复制到其他表。
正如其他人所指出的那样,为此还有能力和维护良好的第三方工具。