【问题标题】:Easy migration from SQL Server to Oracle [closed]从 SQL Server 轻松迁移到 Oracle [关闭]
【发布时间】:2015-08-18 12:56:20
【问题描述】:

我有一个在 SQL Server 2008 上运行良好的 vb.net 应用程序。 我的sql请求基本简单,比如select、insert into、update...

我没有使用任何 SQL Server 特定的命令或指令。

现在我想将我的数据库服务器更改为 Oracle,在 Linux 机器上运行。

有可能吗???或者我必须重写我所有的 SQL 请求?

【问题讨论】:

  • 如果 SQL 符合 ANSI-92,它将可能工作。但真正了解的唯一方法是全部测试。
  • 日期也几乎没有差异,如果您使用自动增量字段,它们仅在最新的 Oracle 版本上受支持(您可以使用序列更改它,但这是一项工作)。
  • 您不太可能在不进行任何更改的情况下完成迁移。但是,如果您的查询确实是基本的,那么您可能只需要在这里和那里进行细微的调整。例如,如果您曾经在列名或表名周围使用方括号 [],或者如果您曾经在表名前加上 .dbo 等...您需要进行调整。
  • 根据我的经验,当我传输 Sql 时总是需要“一些”编辑。迁移后我会仔细检查每一条语句。
  • '在飞行中'

标签: sql sql-server vb.net oracle migration


【解决方案1】:

这是一个相当笼统的问题(也许“太宽泛”会适用)。你肯定有一些陷阱,即使是简单的陈述:

  • SUBSTR() 与 SUBSTRING()
  • VARCHAR2() 与 VARCHAR()
  • INSTR() 与 CHARINDEX()
  • ||+ 用于字符串连接
  • LENGTH() 与 LEN()
  • TRIM() 与 LTRIM()/RTRIM()
  • SYSDATE 与 GETDATE()

等等。

语法上也有很大区别,例如:

  • SQL Server 允许在 UPDATE 中进行连接,而 Oracle 不允许。
  • Oracle 将关联查询的解析限制在仅深入一层的范围内。
  • SQL Server 具有用于某些类型的连接的 APPLY 关键字。
  • Oracle DATE 数据类型有时间组件,但 SQL Server 没有

这绝不是一个完整的列表。这只是暗示您需要做一些工作才能在数据库之间移动。但是,这项工作可能主要是装饰性的。

【讨论】:

    猜你喜欢
    • 2013-10-02
    • 2015-04-17
    • 2010-10-14
    • 2018-09-18
    • 1970-01-01
    • 2011-06-09
    • 2011-10-15
    • 1970-01-01
    • 2010-10-03
    相关资源
    最近更新 更多