从 JavaScript 连接到 Oracle 数据库
Connect to Oracle DB from JavaScript
我正在使用专有的自动化测试产品,该产品使用 javascript 引擎来 运行 测试脚本。
我正在尝试连接到服务器上的 Oracle 数据库以设置测试 data/environment。我的代码使用以下连接字符串:
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] Driver's SQLAllocHandle failed on
SQL_HANDLE_ENV failed.
我已经正确设置了所有路径。 ORACLE_HOME 已设置,ORACLE_HOME/bin 也设置为环境变量。我也尝试过使用其他 drivers/connection 字符串。
主要问题是应用程序架构和驱动程序架构之间的不匹配。以下是从头开始在新虚拟机上完成的:
- 应用程序和驱动程序架构需要匹配,即 32 位或 64 位。
- Win 7 amd64 上的控制面板 -> 管理工具 -> ODBC 源将显示 64 位可用驱动程序。
- 要检查安装了什么 32 位,运行 -> cmd -> c:\Windows\SysWow64\odbcad32.exe。
如果您最终为 Oracle_Ora11gHome1 驱动程序 (wtf Oracle) 定义了一个 User/System DSN,TNS 服务名称是您的 ip:port/sid
我正在使用专有的自动化测试产品,该产品使用 javascript 引擎来 运行 测试脚本。
我正在尝试连接到服务器上的 Oracle 数据库以设置测试 data/environment。我的代码使用以下连接字符串:
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] Driver's SQLAllocHandle failed on SQL_HANDLE_ENV failed.
我已经正确设置了所有路径。 ORACLE_HOME 已设置,ORACLE_HOME/bin 也设置为环境变量。我也尝试过使用其他 drivers/connection 字符串。
主要问题是应用程序架构和驱动程序架构之间的不匹配。以下是从头开始在新虚拟机上完成的:
- 应用程序和驱动程序架构需要匹配,即 32 位或 64 位。
- Win 7 amd64 上的控制面板 -> 管理工具 -> ODBC 源将显示 64 位可用驱动程序。
- 要检查安装了什么 32 位,运行 -> cmd -> c:\Windows\SysWow64\odbcad32.exe。
如果您最终为 Oracle_Ora11gHome1 驱动程序 (wtf Oracle) 定义了一个 User/System DSN,TNS 服务名称是您的 ip:port/sid