Oracle与SQL Server数据互用性(3)

作者 Haidong Ji  翻译 GoodKid




在我的关于Oracle和SQL Server 互用性的系列文章 part 1part 2 当中,我讨论了Oracle和SQL Server 的一些不同点的话题以及Oracle驱动的可选性。在本主题中,我将讨论一个来自Oracle 10g的新工具,Oracle即时客户端。

对于Oracle 10g以前的版本,如果想建立和Oracle的连接,你不得不安装完整的Oracle客户端从而在你的服务器或pc上获得Oracle驱动。 整个客户端非常臃肿和巨大,并且缺少可编辑性的注册方式。实际上,你全部所需要的东西就是一些相关的dll和一些配置文件,以便能够建立和Oracle服务器的连接。对于一个产品服务因为你不想要太多的臃肿的素材,这是非常特殊的。简单的解决方案一般是最好的解决方案。

设置即时客户端非常简单,可以按下面的步骤依次完成。

下载并安装基本的 ODBC 包

如果你想从 Instant Client from Oracle's web site下载包,你将被提示下载少量的包。你将仅仅需要基本的包和ODBC包。

对于基本的包,你可以在C:盘上新建一个目录,名称为Oracle,你可以解压缩基本包中的全部文件到这个C:\Oracle目录当中。一个名称为 InstantClient 的子目录被创建。进展一切正常。完成这步后,你将拥有Oracle OCI 连接所需的基本 DLL文件。

在下载并安装基本包之后,你可以继续解压缩 ODBC 包到上面相同的目录中,完成后,运行 ODBC_Install.exe 程序。这将完成必要的注册和系统中的DLL注册。. T

设置环境变量和Oracle 网络文件

最好一步是设置环境变量。确认 C:\Oracle\InstantClient 已经添加到了 PATH 变量中。另外,你需要创建一个新的路径变量,名称为 TNS_ADMIN, TNS_ADMIN的值设置为 C:\Oracle\InstantClient。依据我在美式英语系统里的经验 ,仅仅有这两个需要添加的环境变量。如果你的是非英语系统,你可能必须设置一个语言变量。.

依赖于你运行的Oracle的版本和注册方法的支持,你可能需要有 tnsname.ora, sqlnet.ora, 或 ldap.ora等文件。从Oracle管理员那里得到这些.ora文件并且放到 C:\Oracle\InstantClient目录当中。请记住重启系统。你将能够连接到你的Oracle数据库。

现在准备设计 ODBC DSN,在驱动列表中,使用 Microsoft ODBC for Oracle。

潜在问题

根据我的经验,如果一个 DTS 包被创建和安排,不管什么理由,它不能够自己停止。如果你在SQL Server Agent下观察工作状态,它总是执行状态,即使在数据传输后也是这样。我不得不创建一个任务去结束它。并且只有在Windows server 2003中才有这个问题, Windows 2000中没有。这个测试在 Sql Server 2000 with service pack 3a 的环境中完成。

围绕这个问题,我用T-SQL openquery 语句代替 DTS,看起来解决了这个问题。

此条目发表在服务器, 程序开发分类目录,贴了, , , 标签。将固定链接加入收藏夹。