如何使用 VBScript 和 UFT 连接到 oracle 数据库?

How to connect to oracle database using VBScript and UFT?

似乎在多个论坛上都提出了如何从 UFT/VBscript 连接到 oracle 数据库的问题。在大多数地方,只有零星的答案,没有任何一个详细的答案可以帮助用户获取这些信息。

我花了将近 6 天的时间来完成这项工作,因此我觉得在这里分享所有详细步骤是值得的。我发现它出错的主要原因是以下一项或多项的错误组合:

当上述任何一项出错时,我们会收到一系列错误,具体取决于我们使用的驱动程序、连接字符串和终端。我遇到了:

希望下面的回答会给你一个循序渐进的答案和参考,以及代码示例来尝试你的代码并为你准备好这个 运行。

  • 我花了 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 连接本身来构建测试而不是自行设置它来节省大量时间和精力。