2014-10-08 105 views
1

是否有支持無TNS連接(或EZ-Connect)約定的64位Oracle ODBC驅動程序?我曾經使用過「允許使用TNS的連接字符串」的Microsoft ODBC for Oracle,但是這種連接字符串已經摺舊了很長時間,並且沒有64位版本(即它不適用於64位Office/Excel )。Oracle ODBC TNS-less連接字符串(用於64位Excel)

我曾經有過在我的組織中用戶有時會缺少或無效的tnsnames.ora文件的經驗。我想使用無DSN連接字符串,因爲不是需要tnsnames.ora,可以在安裝了適當Oracle驅動程序的任何計算機上成功執行。這是我的老DSN-少,TNS-less連接所用的貶值 「微軟ODBC的Oracle」 驅動程序字符串的例子(仍然可以工作,用戶在32位Office):

DRIVER={Microsoft ODBC for Oracle}; UID=myun; PWD=mypass; 
SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP) 
     (HOST=myhostname)(PORT=1521))(CONNECT_DATA=(SID=mysid))); 

我一直試圖與Oracle連接OraClient11g_home1從Oracle的ODBC驅動程序,但無論我如何嘗試(包括EZ_Connect)我不能讓它在沒有它需要tnsnames.ora的情況下工作,我不斷得到這個彈出窗口要求我指定無論如何服務名稱:

enter image description here

我一直在使用EZ-Connect和指定Oracle服務器IP /主機名一樣,直接在下面的許多其他變化嘗試,但沒有運氣:

Driver={Oracle in OraClient11g_home1};Server=//OracleIPAddress:1521/MySID; 
Uid=myUsername;Pwd=myPassword; 

回答

2

對於服務名,你可以簡單地插入整個TNS-字符串,例如SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myhostname)(PORT=1521))(CONNECT_DATA=(SID=mysid)));

將其用雙引號括起來,並刪除所有回車符和空格字符。

+0

是否每個最終用戶都需要每次都這樣做,或者一旦這樣做會導致將詳細信息保存到excel文件中? – Josh 2014-10-08 21:12:32

+0

我認爲它應該保存它 – 2014-10-09 06:27:31

相關問題