WEB开发网
开发学院数据库MSSQL Server Oracle 数据库向 MS SQL Server 7.0 的迁移 (简述... 阅读

Oracle 数据库向 MS SQL Server 7.0 的迁移 (简述)

 2008-09-09 10:02:44 来源:WEB开发网   
核心提示: 此外,SQL 语言的过程扩展也可能带来困难,Oracle 数据库向 MS SQL Server 7.0 的迁移 (简述)(2),Oracle PL/SQL 和 SQL Server Transact-SQL 语言功能相似,但语法不同,再者,并不是所有原本的 SQL 扩展都可以用 ODBC

此外,SQL 语言的过程扩展也可能带来困难。Oracle PL/SQL 和 SQL Server Transact-SQL 语言功能相似,但语法不同。各 RDBMS 及其过程扩展之间不存在精确的对等关系。因此,您可能会放弃使用存储程序,例如过程和触发器。这是令人遗憾的,因为这些程序能够提供极好的性能和安全性,而这些用任何其它方式均无法实现。

使用专用的开发接口也会带来其它的问题。使用 Oracle OCI(Oracle 调用接口)转换程序,通常需要大量的资源投入。当开发的应用程序可能使用多个 RDBMS 时,应考虑使用开放式数据库连接 (ODBC) 接口。

ODBC 是专为使用多种数据库管理系统而设计的。ODBC 提供一致的应用程序编程接口 (API),它通过数据库特有驱动程序的服务,与不同的数据库一同工作。

一致的 API 是指,不论程序与 Oracle 还是与 SQL Server 交互,它在建立连接、执行命令和检索结果时所调用的函数是相同的。

ODBC 还定义了一个标准调用级接口,并使用标准转义序列,指定执行公用任务的 SQL 函数,但该函数在不同的数据库中语法不同。不需要修改任何程序代码,ODBC 驱动程序就可以自动地把 ODBC 语法转换成原本的 Oracle 或 Microsoft SQL Server SQL 语法。在某些情况中,最好的方法是编写一个程序,使 ODBC 在运行时进行转换。

ODBC 并不是一个神奇的解决方案,不能对所有的数据库均实现完全的数据库独立性、完备的功能以及较高的性能。不同的数据库和第三方厂商提供不同级别的 ODBC 支持。一些驱动程序只实现了映射在其它接口库顶层的核心 API 函数。其它驱动程序,例如 Microsoft SQL Server 驱动程序,在原本的、高性能的驱动程序中提供全面的级别 2 支持。

如果程序只使用核心 ODBC API,它可能放弃了一些数据库带有的功能和性能。再者,并不是所有原本的 SQL 扩展都可以用 ODBC 转义序列表示,例如 Oracle DECODE 和 SQL Server CASE 表达式就是这样。

Tags:Oracle 数据库 MS

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接