Sql 在Oracle上执行Informix DDL脚本

Sql 在Oracle上执行Informix DDL脚本,sql,oracle,oracle11g,informix,ddl,Sql,Oracle,Oracle11g,Informix,Ddl,如果我有一个数据库的Informix DDL脚本,并且我希望在Oracle上运行该脚本,以创建具有相同结构、索引、数据类型和约束的等效数据库 要成功执行脚本,我应该遵循哪些步骤?在执行过程中,我应该考虑哪些因素 我使用Informix服务器版本IBMInformix动态服务器版本12.10.FC3 我使用Informix客户端SDK版本3.50 我使用oracle11g 查看Informix到Oracle的官方资源 通常,在Informix和Oracle之间传输DDL是一个非常重要的建议。即使

如果我有一个数据库的Informix DDL脚本,并且我希望在Oracle上运行该脚本,以创建具有相同结构、索引、数据类型和约束的等效数据库

要成功执行脚本,我应该遵循哪些步骤?在执行过程中,我应该考虑哪些因素

  • 我使用Informix服务器版本IBMInformix动态服务器版本12.10.FC3
  • 我使用Informix客户端SDK版本3.50
  • 我使用oracle11g

查看Informix到Oracle的官方资源

通常,在Informix和Oracle之间传输DDL是一个非常重要的建议。即使您不使用一些更奇特的类型(例如,用户定义的类型、列表、集合或行类型),语法中也存在许多详细的差异。这是从Informix的角度编写的;对有关甲骨文的言论要稍加保留

  • Oracle使用VARCHAR2;Informix没有(但Informix使用的某些类型不应转换为Oracle的VARCHAR—它应该是VARCHAR2)
  • Oracle有一个底层数字类型;Informix有很多优点。但是,Oracle可以识别大多数类型名称
  • Oracle的日期类型包括时间组件;Informix的没有
  • Informix有一些深奥的类型,比如DATETIME MONTH TO MINUTE(典型的奇数球示例),在Oracle中没有现成的等价物
  • 您需要仔细检查字节、文本、BLOB和CLOB类型,并进行相应的翻译
  • 某些类型的限制可能有所不同。这些可能会导致翻译中出现问题
  • Informix和世界其他地方在约束命名方面存在着挑剔的差异(Informix将约束名称放在约束之后;标准将约束名称放在约束之前)
  • …毫无疑问还有许多其他问题

有一些工具可用于帮助从Oracle迁移到Informix。我假设有可用的工具来帮助反向迁移,但我不熟悉它们。

最好参考官方资源。然而,这接近于“仅链接”的答案。这将是很好的给什么可以找到一些大纲,尤其是因为链接有一个趋势,随着时间的推移变得无效。