Linked server和SSIS连接Oracle时的常见问题
05/24/2011
7 分钟可看完
本文内容
1. Linked server去连接oracle的时候,是按照SQL Server 引擎的版本去载入oracle provider的版本。如果SQL Server是64bit的,只能载入64 bit oracle的provider。32bit的SQL Server只能使用32bit的oracle的provider。
2. 很多SQL Server的图形界面工具都是32bit的,比如SSIS,32位的 import/export wizard,这些32bit的工具只能load 32 bit的oracle provider。如果想知道这个工具是不是32bit的,去检查工具所对应的exe文件是不是在program files(x86)子路径下。
3. Linked server去 连接oracle的时候,首先会读取tnsname.ora文件,然后读取sqlnet.ora文件,然后用SQLServr.exe直接去连oracle,连接成功以后会再次读取tnsname.ora文件,然后开始载入oracle OLEDB的DLL文件。在64位操作系统上安装的32位SQL Server中,读到的路径是这样的:
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.1.2.118)(PORT=1521))(CONNECT_DATA=(SID=express)(CID=(PROGRAM=D:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe)(HOST=SCT-IT-SQLTEST)(USER=SYS