我从Informix数据库创建了一个dbexport,我有.sql
和.unl
个文件。
我可以从文件中重新导出数据库到Oracle吗?
如果不可能,有没有可以做到的RDBMS?
答案 0 :(得分:0)
正如乔纳森在评论中所说,这并不容易。由Informix dbexport创建的文件不能被其他数据库直接使用。但是,虽然这很容易阅读文本信息,但您可以编写将.sql
和.uml
文件转换为可用于首选数据库的文件的程序。如果你使用存储过程,那真的很难。
对于CREATE TABLE ...
中的表格定义,您必须将DATETIME YEAR TO DAY
等Informix类型转换为DATE
,或将SERIAL
转换为INTEGER
。 Oracle没有SERIAL
类型,因此您必须为这些列创建序列和触发器。
转换数据库模式时,可以从.unl
文件导入数据。我建议您编写自己的程序,将其作为CSV数据读取,使用INSERT
生成PrepareStatement并转换一些数据。还要记住,Oracle不使用空字符串:null vs empty string in Oracle