如何使用 VBScript 和 UFT 连接到 oracle 数据库?
How to connect to oracle database using VBScript and UFT?
似乎在多个论坛上都提出了如何从 UFT/VBscript 连接到 oracle 数据库的问题。在大多数地方,只有零星的答案,没有任何一个详细的答案可以帮助用户获取这些信息。
我花了将近 6 天的时间来完成这项工作,因此我觉得在这里分享所有详细步骤是值得的。我发现它出错的主要原因是以下一项或多项的错误组合:
- 使用了错误的驱动程序。
- 使用了错误的连接字符串。
- 使用错误的终端来测试代码(即 64 位来测试 32 位 UFT 的工作情况)
当上述任何一项出错时,我们会收到一系列错误,具体取决于我们使用的驱动程序、连接字符串和终端。我遇到了:
- 找不到提供商。它可能没有正确安装(当使用 Microsoft ODBC for Oracle 时)
- 'OraOLEDB.Oracle.1' 提供程序未在本地计算机上注册(尝试使用 oraOLEDB 驱动程序时)
- 灾难性的失败。 (当 运行 64 位终端上的工作脚本时)
希望下面的回答会给你一个循序渐进的答案和参考,以及代码示例来尝试你的代码并为你准备好这个 运行。
我花了 5 天的时间才使它正常工作,尽管互联网上有可用的信息,但这些信息都是分散的并且指向多个方向,这可能非常耗时且令人沮丧。因此,为了使您免于这种挫败感,并且由于测试数据对于设置任何有意义的测试框架都非常重要,本节致力于为您正确设置。希望您不必面对我在处理此问题时遇到的同样的挫败感!
要使 oracle 数据库连接在 UFT 中工作,请为您的 oracle 数据库下载 32 位驱动程序。为此:
- 转到此页面(如果您的数据库是 12c - 如果是另一个数据库,请转到该页面),https://www.oracle.com/database/technologies/oracle12c-windows-downloads.html
向下滚动并查找 "Oracle Database 12c Release 2 Client (12.2.0.1.0) for Microsoft Windows (32-bit)" - 如果您使用的是 oracle 12C
- 下载 zip 文件"win32_12201_client.zip"
- 从文件夹中提取文件和 运行 "setup.exe":Downloads\win32_12201_client\client32
- select"What type of installation do you want" 时,
- select -> 管理员 (1.5GB)
- 使用 windows 内置帐户(第三个选项)
- 保留默认位置
- oracle base -> C:\app\client\yourUserID(不允许中间有 space)
- 软件位置 -> C:\app\client\yourUserID\product\12.2.0\client_2
- 保存响应文件以备将来参考
- 安装产品
- 要测试是否一切正常,请打开 32 位的 ODBC 连接
- 检查驱动程序部分,是否安装了名称为 "Oracle in OraClient12Home1_32bit" 的驱动程序。
- 现在您可以 运行 通过在 32 位命令行模式下 运行 连接测试数据库连接的 vbscript。 (运行 它在 64 位机器的终端中会给你各种错误)。要在 windows 上执行此操作,
- 在“开始搜索”框中键入 %windir%\SysWoW64\cmd.exe。
- 将目录更改为您的脚本位置(比如 cd c:\Users\yourUserID\UFT\Rusty\FunctionLibrary)- 如果脚本在目录 FunctionLibrary
- 现在你可以运行这个脚本了,在它前面写cscript -> cscript数据库-functions.vbs
- 您应该会看到从测试脚本中弹出的值。
- 连接字符串格式:
- https://www.connectionstrings.com/oracle-in-oraclient11g_home1/(使用此处的标准格式)
- Dim connString: connString = "DRIVER={Oracle in OraClient12Home1_32bit};DBQ=yourHostURL:portNr/DBname;Trusted_Connection=Yes;UID=MyUser;Password=myPassword"
- Ex(带有虚拟值):connString = "DRIVER={Oracle in OraClient12Home1_32bit};DBQ=ab12.mycompany.com:1521/ORAB;Trusted_Connection=Yes;UID=pramod;Password=myPassword"
- 此处提供了可用于测试此连接的脚本。
希望这对您有所帮助,并且您可以通过使用 oracle 连接本身来构建测试而不是自行设置它来节省大量时间和精力。
似乎在多个论坛上都提出了如何从 UFT/VBscript 连接到 oracle 数据库的问题。在大多数地方,只有零星的答案,没有任何一个详细的答案可以帮助用户获取这些信息。
我花了将近 6 天的时间来完成这项工作,因此我觉得在这里分享所有详细步骤是值得的。我发现它出错的主要原因是以下一项或多项的错误组合:
- 使用了错误的驱动程序。
- 使用了错误的连接字符串。
- 使用错误的终端来测试代码(即 64 位来测试 32 位 UFT 的工作情况)
当上述任何一项出错时,我们会收到一系列错误,具体取决于我们使用的驱动程序、连接字符串和终端。我遇到了:
- 找不到提供商。它可能没有正确安装(当使用 Microsoft ODBC for Oracle 时)
- 'OraOLEDB.Oracle.1' 提供程序未在本地计算机上注册(尝试使用 oraOLEDB 驱动程序时)
- 灾难性的失败。 (当 运行 64 位终端上的工作脚本时)
希望下面的回答会给你一个循序渐进的答案和参考,以及代码示例来尝试你的代码并为你准备好这个 运行。
我花了 5 天的时间才使它正常工作,尽管互联网上有可用的信息,但这些信息都是分散的并且指向多个方向,这可能非常耗时且令人沮丧。因此,为了使您免于这种挫败感,并且由于测试数据对于设置任何有意义的测试框架都非常重要,本节致力于为您正确设置。希望您不必面对我在处理此问题时遇到的同样的挫败感!
要使 oracle 数据库连接在 UFT 中工作,请为您的 oracle 数据库下载 32 位驱动程序。为此:
- 转到此页面(如果您的数据库是 12c - 如果是另一个数据库,请转到该页面),https://www.oracle.com/database/technologies/oracle12c-windows-downloads.html 向下滚动并查找 "Oracle Database 12c Release 2 Client (12.2.0.1.0) for Microsoft Windows (32-bit)" - 如果您使用的是 oracle 12C
- 下载 zip 文件"win32_12201_client.zip"
- 从文件夹中提取文件和 运行 "setup.exe":Downloads\win32_12201_client\client32
- select"What type of installation do you want" 时,
- select -> 管理员 (1.5GB)
- 使用 windows 内置帐户(第三个选项)
- 保留默认位置
- oracle base -> C:\app\client\yourUserID(不允许中间有 space)
- 软件位置 -> C:\app\client\yourUserID\product\12.2.0\client_2
- 保存响应文件以备将来参考
- 安装产品
- 要测试是否一切正常,请打开 32 位的 ODBC 连接
- 检查驱动程序部分,是否安装了名称为 "Oracle in OraClient12Home1_32bit" 的驱动程序。
- 现在您可以 运行 通过在 32 位命令行模式下 运行 连接测试数据库连接的 vbscript。 (运行 它在 64 位机器的终端中会给你各种错误)。要在 windows 上执行此操作,
- 在“开始搜索”框中键入 %windir%\SysWoW64\cmd.exe。
- 将目录更改为您的脚本位置(比如 cd c:\Users\yourUserID\UFT\Rusty\FunctionLibrary)- 如果脚本在目录 FunctionLibrary
- 现在你可以运行这个脚本了,在它前面写cscript -> cscript数据库-functions.vbs
- 您应该会看到从测试脚本中弹出的值。
- 连接字符串格式:
- https://www.connectionstrings.com/oracle-in-oraclient11g_home1/(使用此处的标准格式)
- Dim connString: connString = "DRIVER={Oracle in OraClient12Home1_32bit};DBQ=yourHostURL:portNr/DBname;Trusted_Connection=Yes;UID=MyUser;Password=myPassword"
- Ex(带有虚拟值):connString = "DRIVER={Oracle in OraClient12Home1_32bit};DBQ=ab12.mycompany.com:1521/ORAB;Trusted_Connection=Yes;UID=pramod;Password=myPassword"
- 此处提供了可用于测试此连接的脚本。
希望这对您有所帮助,并且您可以通过使用 oracle 连接本身来构建测试而不是自行设置它来节省大量时间和精力。