【问题标题】:Traslate from sqlserver to oracle(10g)从 sql server 转换为 oracle(10g)
【发布时间】:2017-04-07 11:31:06
【问题描述】:

首先,对不起英语和我的无知。很可能我说的概念是错误的(我对oracle/pl-sql真的不太了解)... 但我需要问!

我正在使用一个在 .net 中开发的程序,该程序最初是使用 SqlServer 开发的,然后更新为使用 Oracle(10g)。 现在,程序可以配置为使用 sqlserver 或 oracle。

为了更新他的数据库,它会为 Oracle 或 SqlServer 执行每个相关文件,因此存在带有用于 oracle 或 sqlsever 脚本的文件。

我需要将几个表(及其相关对象、约束、为 ID 列创建安全和触发器等)从 SqlServer 转换为 Oracle(10g 版本)。

问题是我需要通过脚本来执行这个任务,而这些脚本必须在没有错误的情况下执行,无论之前执行了多少次。

现在的问题是如何将这些对象从 sqlserver 转换为 oracle(10g) 在为主键创建 sqcuences 和触发器等之前检查对象是否存在。

在 SqlDeveloper 中,有一个从 sqlserver 到 oracle 的选项,但我无法检查相关对象之前是否存在,所以我现在唯一的选择是使用它 pl/sql 执行对象创建,这包括使用动态 sql(立即执行)。

我的问题是:还有其他方法可以更可靠、更轻松地执行此任务吗?

最终,我想我唯一的选择是花时间使用动态 sql 使用 pl/sql 创建自定义脚本,检查对象之前是否存在...

提前谢谢...

【问题讨论】:

    标签: .net sql-server oracle10g


    【解决方案1】:

    据我所知,没有从 MSSQL 复制并粘贴到 ORACLE 的命令(笑话)。 不久前我有一些经验。首先你应该分析表和列数据类型,不是所有的数据类型都可以从 mssql 转换为 oracle,我有 uids、大文本等问题。如果你有一个在这两种数据库方面都有经验的专业 DBA,那就太好了。您可能会遇到 MQSQL Server 和 ORACLE 版本兼容 64/32 位版本的问题。另一个问题可能与字符集转换有关。如果表的数量有限,我的意思是你可以在适当的时候编写pl/sql代码,我认为这将是最好的解决方案,更可以控制所有的数据泵过程。

    【讨论】:

      猜你喜欢
      • 2010-11-28
      • 2011-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-21
      • 2019-03-08
      • 2011-05-07
      • 2010-12-16
      相关资源
      最近更新 更多