64位SqlServer通過鏈接服務器與32位oracle通訊


在SQL SERVER里只安裝了32位的oracle客戶端的情況下,添加鏈接服務器然后執行查詢會報如下信息:

原因:在64位的SQL Engine中已經不提供MSDAORA  的驅動了,可以使用OraOLEDB.Oracle,安裝oracle 64位客戶端即可。

1、下載客戶端win64_11gR2_client.zip和win32_11gR2_client.zip

http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_client.zip

http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_client.zip

2、安裝上面兩個客戶端

安裝32位客戶端到 C:\Oracle\product\11.2.0\client_32
安裝32位客戶端到 C:\Oracle\product\11.2.0\client_64

然后在各自目錄下找到network\admin,修改tnanames.ora,添加oracle連接,兩個客戶端都加如下:

sap_mid= 

(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 10.203.22.26)
(PORT = 1521)
)
)
(CONNECT_DATA =
(SID = sapmid)
(SERVER = DEDICATED)
)
)

可用tnsping sap_mid測試一下:

返回結果如下,表示成功了

C:\Users\eiptest>tnsping sap_mid

TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 20-11月-
2013 10:31:23

Copyright (c) 1997, 2010, Oracle. All rights reserved.

已使用的參數文件:
c:\oracle\product\product\11.2.0\client_2\network\admin\sqlnet.ora


已使用 TNSNAMES 適配器來解析別名
嘗試連接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 10.2
03.22.26) (PORT = 1521))) (CONNECT_DATA = (SID = sapmid) (SERVER = DEDICATED)))
OK (30 毫秒)

3、修改注冊表HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSDTC \ MTxOCI和

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ MSDTC \ MTxOCI 

OracleOciLib改為oci.dll, OracleSqlLib改為orasql11.dll, OracleXaLib改為oraclient11.dll

4、添加odbc數據源

 

 

 

5、設置訪問接口

點擊服務器對象,鏈接服務器-》訪問接口-》OraOLEDB.Oracle,點屬性把所有選項都勾上

6、添加鏈接服務器

鏈接服務器名自己取,訪問接口為Microsoft OLE DB Provider for ODBC Drivers,產品名為oracle,數據源為剛剛建的ODBC數據源名

然后點左側的安全性,在右側點使用此安全上下文建立連接,輸入oracle的帳號和密碼

 

6、測試

SELECT * FROM openquery(SAP,'SELECT * FROM SAPMID.ZIF_MAKT')

SAP為剛剛建立的鏈接服務器名,如無意外,會顯示查詢結果

 

以下為對考鏈接

http://yours369000.blog.163.com/blog/static/4762337720132247117744/

http://www.codeweblog.com/sql-server-2008-r2-x64-connect-to-oracle-solutions/

http://www.cnblogs.com/StupidsCat/archive/2012/06/12/2546307.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM