知识大全 Oracle 数据库向 MS SQL Server 7.0 的迁移(1)
Posted 数据库
篇首语:谁和我一样用功,谁就会和我一样胜利。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle 数据库向 MS SQL Server 7.0 的迁移(1)相关的知识,希望对你有一定的参考价值。
Oracle 数据库向 MS SQL Server 7.0 的迁移(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
摘要 本文是为希望将其应用程序转为 Microsoft SQL Server 应用程序的 Oracle 应用程序开发人员所写的 文中讲述了成功地进行转换所需要的工具 过程和技巧 并突出强调了创建高性能 高并发性 SQL Server 应用程序的基本设计原则 本文的目标读者应该具有 坚实的 Oracle RDBMS 基础知识背景 全面的数据库管理知识 熟悉 Oracle SQL 和 PL/SQL 语言 实际使用 C/C++ 编程语言的知识 sysadmin 固定服务器角色的成员身份 本文假定 您熟悉与 Oracle RDBMS 有关的术语 概念和工具 有关 Oracle RDBMS 及其体系结构的详细信息 请参见 Oracle Server Concepts Manual(Oracle Server概念手册) 至于使用 Oracle 脚本和示例 还假定您熟悉 Oracle Server Manager 和 Oracle SQL*Plus 工具 有关这些工具的详细信息 请参见 Oracle 文档 目录 开发和应用程序平台 概述 本文组织结构 体系结构和术语 安装和配置 Microsoft SQL Server 定义数据库对象 实施数据完整性和业务规则 事务 锁定和并发性 死锁 SQL 语言支持 游标的实现 优化 SQL 语句 使用 ODBC 开发和管理数据库复制 迁移数据和应用程序 数据库示例 开发和应用程序平台 为了清楚和便于表述 假定开发和应用程序平台是 Microsoft Visual Studio 版 Microsoft Windows NT (Service Pack ) SQL Server 和 Oracle Oracle 使用 Visigenic Sofare ODBC 驱动程序( 版) SQL Server 使用 Microsoft Corporation ODBC 驱动程序( 版) Microsoft SQL Server 包括用于 Oracle 的 OLE DB 驱动程序 但在本章中不予详细讨论 概述 应用程序迁移过程似乎很复杂 两种 RDBMS 之间有很多体系结构方面的差异 描述 Oracle 体系结构的词汇和术语在 Microsoft SQL Server 中 其含义常常完全不同 此外 Oracle 和 SQL Server 都有许多专有的 SQL 标准扩展 从应用程序开发人员的角度来看 Oracle 和 SQL Server 管理数据的方式是相似的 但是 Oracle 和 SQL Server 之间内部的差异是相当大的 如果管理得当 它对迁移应用程序造成的影响就会微乎其微 开发人员面临的最严峻迁移问题是 SQL SQL 语言标准的实现和每种 RDBMS 提供的扩展 一些开发人员只使用标准的 SQL 语言语句 并倾向于使其程序代码尽可能通用 通常 这意味着把程序代码限定在初级 SQL 标准 该标准在许多数据库产品中均得到了一致的实现 其中包括 Oracle 和 SQL Server 这种方法可能给程序代码带来不必要的复杂性 并显著影响程序性能 例如 Oracle 的 DECODE 函数是 Oracle 特有的非标准 SQL 扩展 Microsoft SQL Server 的 CASE 表达式已不止是初级 SQL 的扩展 并未在所有的数据库产品上实现 如果不使用这两个函数 则可以编程方式实现其功能 但可能需要从 RDBMS 检索更多的数据 此外 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 驱动程序 在原本的 高性能的驱动程序中提供全面的级别 支持 如果程序只使用核心 ODBC API 它可能放弃了一些数据库带有的功能和性能 再者 并不是所有原本的 SQL 扩展都可以用 ODBC 转义序列表示 例如 Oracle DECODE 和 SQL Server CASE 表达式就是这样 此外 通过编写 SQL 语句使用数据库优化程序也是通常的做法 在 Oracle 中用来提高性能的技巧和方法 在 SQL Server 中并不一定最好 ODBC 接口无法将技巧从一个 RDBMS 转化到另一个 RDBMS 中 ODBC 并不禁止应用程序使用数据库特有的功能 也不禁止优化性能 但是应用程序需要一些数据库特有的代码部分 有了 ODBC 要使程序结构和绝大部分程序代码在多个数据库上保持一致 就变得十分简单 OLE DB 是下一代的数据访问技术 Microsoft SQL Server 利用了 SQL Server 自身组件中的 OLE DB 此外 应用程序开发人员在 SQL Server 新的开发过程中 应考虑使用 OLE DB Microsoft 在 SQL Server 中加入了用于 Oracle 的 OLE DB 提供程序 OLE DB 是 Microsoft 的一个战略性系统级编程接口 用于管理整个组织内的数据 OLE DB 是建立在 ODBC 功能之上的一个开放规范 ODBC 是为访问关系型数据库而专门开发的 OLE DB 则用于访问关系型和非关系型信息源 例如主机 ISAM/VSAM 和层次数据库 电子邮件和文件系统存储 文本 图形和地理数据以及自定义业务对象 OLE DB 定义了一组 接口 对各种数据库管理系统服务进行封装 并允许创建软件组件 实现这些服务 OLE DB 组件包括数据提供程序(包含和表现数据) 数据使用者(使用数据)和服务组件(处理和传送数据 例如 查询处理器和游标引擎) OLE DB 接口有助于平滑地集成组件 这样 OLE DB 组件厂商就可以快速地向市场提供高质量 OLE DB 组件 此外 OLE DB 包含了一个连接 ODBC 的 桥梁 对现用的各种 ODBC 关系型数据库驱动程序提供一贯的支持 本文组织结构 为了帮助您实现从 Oracle 向 SQL Server 的逐步迁移 每节都包括一个 Oracle 和 Microsoft SQL 之间相关差异的概述 此外 还包括转换时要考虑的因素 SQL Server 的优势以及多个示例 体系结构和术语 要成功地迁移 开始之前应该了解与 Microsoft SQL Server 有关的基础体系结构和术语 本节中的许多例子均取自 Oracle 和 SQL Server 应用程序示例(附在文中) 在 Oracle 中 数据库 指整个 Oracle RDBMS 环境 并包括以下组件 Oracle 数据库进程和缓冲区(实例) 包含一个集中系统编录的 SYSTEM 表空间 其它由 DBA 定义的表空间(可选) 两个或多个在线重做日志 存档的重做日志(可选) 各种其它文件(控制文件 Init ora 等等) Microsoft SQL Server 数据库从逻辑上将数据 应用程序和安全机制分离 这一点与表空间非常相似 Oracle 支持多个表空间 SQL Server 则支持多个数据库 表空间还可用于支持数据的物理存放 SQL Server 使用文件组提供相同的功能 Microsoft SQL Server 还默认安装下列数据库 model 数据库是所有新创建的用户数据库的模板 tempdb 数据库与 Oracle 临时表空间相似 它用于临时工作存储和排序操作 与 Oracle 临时表空间不同的是 用户可以创建临时表 并在用户注销时自动删除 msdb 支持 SQL Server 代理及其计划的作业 警报和复制信息 pubs 和 Northwind 数据库作为培训示例数据库提供 有关默认数据库的详细信息 请参见 SQL Server Books Online 每个 Oracle 数据库均在一个集中系统编录或数据字典上运行 它驻留在 SYSTEM 表空间中 每个 Microsoft SQL Server 数据库均维护其自身的系统编录 它包含下列信息 数据库对象(表 索引 存储过程 视图 触发器等等) 约束 用户和权限 用户定义的数据类型 复制定义 数据库使用的文件 在 master 数据库中 SQL Server 还加入了一个集中系统编录 它包括系统编录以及有关每个数据库的一些信息 数据库名称和每个数据库的主文件位置 SQL Server 登录帐户 系统消息 数据库配置值 远程和/或链接的服务器 当前活动信息 系统存储过程 与 Oracle 中的 SYSTEM 表空间一样 要访问任何其它数据库 SQL Server master 数据库必须可用 因此 当 master 数据库做重大修 cha138/Article/program/Oracle/201311/16526相关参考
知识大全 MS Access 数据库向 MS SQL Server 7.0 的迁移
MSAccess数据库向MSSQLServer7.0的迁移 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
知识大全 使用 SQL*Loader 向 Oracle 导入数据
使用SQL*Loader向Oracle导入数据 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 使
MSSqlServer数据库分区 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 什么是数据库分区
MSSQLServer数据库语法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 数据操作 SE
MSSQLServer数据库事务锁机制分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 锁是网
MSSQL数据库SA权限入侵的感悟 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 想必大家都知道
Access数据类型与MSSQL数据类型的相应 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! A
知识大全 如何恢复和修复MS SQL数据库的MDF文件[2]
如何恢复和修复MSSQL数据库的MDF文件[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 如何恢复和修复MS SQL数据库的MDF文件[1]
如何恢复和修复MSSQL数据库的MDF文件[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 MS SQL7.0的数据迁移到MySQL上的一种方法
MSSQL7.0的数据迁移到MySQL上的一种方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!