【问题标题】:How to connect to oracle database using VBScript and UFT?如何使用 VBScript 和 UFT 连接到 oracle 数据库?
【发布时间】:2020-04-13 13:04:56
【问题描述】:

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

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

  • 使用了错误的驱动程序。
  • 使用了错误的连接字符串。
  • 使用错误的终端测试代码(即 64 位测试是否适用于 32 位 UFT)

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

  • 找不到提供程序。它可能没有正确安装(使用 Microsoft ODBC for Oracle 时)
  • “OraOLEDB.Oracle.1”提供程序未在本地计算机上注册(尝试使用 oraOLEDB 驱动程序时)
  • 灾难性故障。 (在 64 位终端上运行工作脚本时)

希望下面的答案将为您提供一步一步的答案,并附有参考资料和代码示例,以试用您的代码并为您启动并运行它。

【问题讨论】:

    标签: database oracle vbscript qtp hp-uft


    【解决方案1】:
    • 我花了 5 天时间才让它正确工作,虽然互联网上有可用的信息,但它都分散并导致多个方向,这可能非常耗时且令人沮丧。因此,为了让您摆脱这种挫败感,并且由于测试数据对于设置任何有意义的测试框架都非常重要,本节致力于为您正确设置。希望您不必像我在处理这个问题时一样遇到挫折!

    • 要在 UFT 中进行 oracle 数据库连接,请为您的 oracle 数据库下载 32 位驱动程序。为此:

      • 转到此页面(如果您的数据库是 12c - 如果是另一个数据库,请转到该页面),https://www.oracle.com/database/technologies/oracle12c-windows-downloads.html 向下滚动并查找“适用于 Microsoft Windows(32 位)的 Oracle Database 12c Release 2 Client (12.2.0.1.0)” - 如果您使用的是 oracle 12C
      • 下载压缩文件“win32_12201_client.zip”
      • 解压文件并从文件夹中运行“setup.exe”:Downloads\win32_12201_client\client32
      • 在选择“您想要什么类型的安装”时,
        • 选择 -> 管理员 (1.5GB)
        • 使用 Windows 内置帐户(第 3 个选项)
        • 保留默认位置
          • oracle base -> C:\app\client\yourUserID(中间不允许有空格)
          • 软件位置-> 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 database-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 连接本身构建测试时节省大量时间和精力,而不是自行设置。

    【讨论】:

      猜你喜欢
      • 2017-04-07
      • 1970-01-01
      • 2020-02-22
      • 2020-12-07
      • 2023-04-04
      • 2018-12-30
      • 2020-09-20
      • 1970-01-01
      • 2010-09-10
      相关资源
      最近更新 更多