sql链接到oracle的问题
两个服务器,都链接到一台oracle服务器去取数据。配置一模一样。
tns如下
LISDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.14)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = lisdb)
)
)
然后我在sql2005设置如下。
链接服务器TEST
访问接口microsoft oledb for oracle
产品名称Oracle
数据源LISDB
然后安全性里面 使用此安全上下文连接
用户名:aa
密码:aa
同样的配置,我其中一台服务器,连接没有问题,查询也可以 。
但是另外一台服务器 报无法初始化 ole db访问接口的msdaora的数据源对象 连接未打开 错误号ora06413
感觉很莫名。另外要说的是,那台无法连接的服务器,就算用dts去访问oracle,也会报连接未打开 错误号ora06413
服务器操作系统不同,有问题的那个是windows server2003 r2 64位的,没问题的是我的xp机器。
大家谁有类似的经验吗?
------解决方案--------------------有问题的那个是windows server2003 r2 64位的?
这个?64位的就难说了。
如果你还有机器的话,弄个windows server2003 sp1(sp2) 32位的再试试,如果能行,不就能说明问题了?
------解决方案--------------------http://blog.csdn.net/zhpsam109/archive/2006/03/08/618860.aspx
------解决方案--------------------另外,你的oracle是什么版本?至少9i对64位的机器是不感冒的。10g以上不知道,帮顶。
------解决方案--------------------windows server2003 r2 64 上 oracle 客户端是否是 64 位的?
使用 oracle 提供的 ole db 接口(oraoledb.oracle)是否可以?
------解决方案--------------------试试看:
首先,SQL Server 2005从Linked-Server链接到Oracle 10g, 你要先确定Oracle 10g安装配置正确,并且能在DOS模式下执行tnsping LISDB 能够通过没有错误;注意Oracle的数据库名称,密码,服务名称都是要分大小写的;
其次,你可以任选下列一种Provider去连接Oracle数据库:
1.OraOLEDB.Oracle(Oracle Provider for OLE DB)(要确认Oracle ODAC 10g安装并配置正确)
2. MSDAORA(Microsoft OLE DB Provider for Oracle)
另外,点击Linked-Servers\Providers\MSDAORA, 右键点击Properties属性,确认Allow inprocess
第三,建立好正确的Linked-Server右键点击Test connection如果显示成功应该就可以连上Oracle数据库啦!
------解决方案--------------------又及,以上三个步骤任何一个的成功都缺一不可,Net配置最好删除重建。