Forum Discussion

Lance_101's avatar
Lance_101
Occasional Contributor
7 years ago

How does TestComplete determine which Oracle provider to use?

We recently upgraded to TestComplete version 12.31.1833.7. We also updated our Oracle provider from version 11g to 12c. Shortly thereafter a SQL statement in one of our tests began producing duplicate rows. The duplicate rows are produced when the SQL is run from TestComplete but do not show up when the command is run manually in SQL Developer. We suspect the Oracle 12c provider may be at the root of the problem which we are trying to verify. However we're having trouble when we try running TestComplete against the 11g provider. We removed the Oracle 12c provider from the computer's environment path thinking that TestComplete would then use the 11g provider, but the TestComplete test fails with 'OraOLEDBpus12.dll: The specified module could not be found', which suggests that TestComplete is looking for Oracle 12c. Our test is creating its database connection by setting Provider=OraOLEDB.Oracle. Any help or suggestions would be appreciated.

2 Replies

  • AlexKaras's avatar
    AlexKaras
    Champion Level 3

    Hi,

     

    TestComplete does not do any search or consideration as for what provider to use but uses the one explicitly specified in test code.

    A assume that you are using OLE DB to query database from TestComplete.

    OLE DB can use either some native Oracle OLE DB provider or generic OLE DB provider that works with the database via ODBC. This is defined by the connection string that is used to query the database from TestComplete.

    DLL to be used by the OLE DB engine is specified in the registry by the setup program of the given OLE DB provider or ODBC driver.

     

    Can you provide the connection string that is used in your test code to connect to the database and query it?

    • Lance_101's avatar
      Lance_101
      Occasional Contributor

      Thanks Alex, your response was very helpful.