是否有支持无 TNS 连接(或 EZ-Connect)约定的 64 位 Oracle ODBC 驱动程序?我曾经使用“Microsoft ODBC for Oracle”,它允许无 TNS 的连接字符串,但它已经贬值了很长时间,并且没有 64 位版本(即它不适用于 64 位 Office/Excel )。
我的经验是,我组织中的用户有时会丢失或无效 tnsnames.ora 文件。我想使用不需要tnsnames.ora的无 DSN 连接字符串,它可以在任何安装了正确 Oracle 驱动程序的计算机上成功执行。这是我的旧 DSN-less、TNS-less 连接字符串的一个示例,它使用了已弃用的“Microsoft ODBC for Oracle”驱动程序(仍然适用于 32 位办公室的用户):
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 驱动程序中与 Oracle 连接,但无论我如何尝试(包括 EZ_Connect),如果不需要 tnsnames.ora,我都无法让它工作,我经常收到这个弹出窗口,要求我指定一个无论如何服务名称:
我曾尝试使用 EZ-Connect 和许多其他直接指定 Oracle 服务器 IP/主机名的变体,如下所示,但没有运气:
Driver={Oracle in OraClient11g_home1};Server=//OracleIPAddress:1521/MySID;
Uid=myUsername;Pwd=myPassword;