Oracle ODBC TNS-less连接字符串(适用于64位Excel)

3
有没有支持TNS-less连接(或EZ-Connect)约定的64位Oracle ODBC驱动程序?我曾经使用过“Microsoft ODBC for Oracle”,它允许使用TNS-less连接字符串,但是已经被淘汰了很长时间,并且没有64位版本(即它无法在64位Office / Excel上工作)。
我有这样的经历,我的组织中的用户有时会缺少或无效的tnsnames.ora文件。我想使用不需要tnsnames.ora的DSN-less连接字符串,在安装了适当的Oracle驱动程序的任何计算机上都可以成功执行。这是我的旧的DSN-less、TNS-less连接字符串的示例,它使用了被淘汰的“Microsoft ODBC for 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 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;
1个回答

4

对于服务名,您可以直接插入整个TNS字符串,例如SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myhostname)(PORT=1521))(CONNECT_DATA=(SID=mysid)));

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


每个最终用户都需要每次都这样做吗?还是只需要做一次就可以将详细信息保存到Excel文件中? - Josh
我认为它应该保存。 - Wernfried Domscheit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接