【发布时间】:2015-11-23 22:55:33
【问题描述】:
我正在使用专有的自动化测试产品,该产品使用 javascript 引擎来运行测试脚本。
我正在尝试连接到服务器上的 Oracle DB 以设置测试数据/环境。我的代码使用以下连接字符串:
var dbDriverString = 'Driver={Microsoft ODBC for Oracle};Server=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=1.1.1.1)(PORT=1521))(CONNECT_DATA=(SID=dbname)));Uid=abc;Pwd=abc;';
var connectionString = dbDriverString;
if (Database.DoAttach(connectionString, '') == true)
Tester.Assert('Connected to database.', true);
我在我的 Windows VM 上为 Microsoft Windows (x64) 客户端安装了 Oracle Database 11g 第 2 版客户端 (11.2.0.1.0)。我无法连接到数据库。我不断收到以下错误:
[Microsoft][ODBC Driver Manager] 驱动程序的 SQLAllocHandle 失败 SQL_HANDLE_ENV 失败。
我已正确设置所有路径。 ORACLE_HOME 已设置,ORACLE_HOME/bin 也设置为环境变量。我也尝试过使用其他驱动程序/连接字符串。
任何建议都会有所帮助。
【问题讨论】:
-
您确定您的 SID 实际上是“dbname”吗?
-
我可以使用 SQL Developer 连接到 Oracle,使用运行 linux 的主机并提供相同的信息。我也可以通过自动化测试应用程序所在的 Windows VM 对其进行 ping 操作。我清理了连接字符串详细信息以不使用实际的,因为它有客户名称等。
标签: javascript oracle database-connection connection-string qa