Oracle ODBC TNS-less连接string(用于64位Excel)

是否有支持TNS-less连接(或EZ-Connect)约定的64位Oracle ODBC驱动程序? 我曾经使用过“允许使用TNS的连接string”的Microsoft ODBC for Oracle,但是这个版本已经折旧了很长时间,并且没有64位版本(也就是说它不适用于64位的Office / Excel )。

我曾经有过在我的组织中用户有时缺less或无效的tnsnames.ora文件的经验。 我想在不需要tnsnames.ora的情况下使用无DSN连接string,可以在安装了适当的Oracle驱动程序的任何计算机上成功执行该string。 这是使用折旧的“用于Oracle的Microsoft ODBC”驱动程序(仍适用于32位办公室用户)的旧DSN-less TNS-less连接string的示例:

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

我一直试图从甲骨文OraClient11g_home1从Oracle的ODBC驱动程序连接,但无论我如何尝试(包括EZ_Connect)我不能得到它的工作,而不需要tnsnames.ora,我不断得到这个popup,要求我指定一个服务名称无论如何:

在这里输入图像说明

我已经尝试过使用EZ-Connect和许多其他指定Oracle服务器IP /主机名称的变体,如下所示,但没有运气:

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

对于服务名称,您可以简单地插入整个TNSstring,例如SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myhostname)(PORT=1521))(CONNECT_DATA=(SID=mysid)));

用双引号将其括起来,并删除任何回车符和空格字符。