我有2个数据库,Oracle和SQlite。我想在我的一个应用程序中创建SQLite中某些Oracle表的精确副本。这些表中的大多数包含超过10,000行,因此通过以编程方式遍历每一行来复制每个表是无效的。此外,表结构可能在将来发生变化,因此我希望使用通用方法实现此目的,而无需对SQL语句进行硬编码。有没有办法做到这一点?
P.S。 - 该应用程序正在使用Qt框架开发。所有查询和数据库都由QtSql模块对象表示。
答案 0 :(得分:5)
无法帮助Qt框架,但对于大量数据通常更好地使用批量复制操作。
从Oracle导出数据 http://download.oracle.com/docs/cd/B25329_01/doc/admin.102/b25107/impexp.htm#BCEGAFAB
将数据导入SQLite http://www.sqlite.org/cvstrac/wiki?p=ImportingFiles
IHTH
答案 1 :(得分:5)
您可能真正想要使用的是Oracle Database Mobile Server,它可以自动同步SQLite和Oracle数据库。
最近发布的Oracle数据库移动服务器(正式名称为Oracle Database Lite Mobile Server)支持Oracle数据库与客户端上运行的SQLite或Berkeley DB数据库之间的同步。它支持同步和异步数据交换,以及客户端和服务器之间的安全通信。您可以将Mobile Server配置为基于多个选项进行同步,而无需修改正在访问数据库的应用程序。
对于使用Mobile Server的开发人员和实施人员提出的问题,您还可以找到一个优秀的discussion forum。