2014-10-08 155 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