JDBC proxy

The HCL OneTest™ API JDBC proxy package is provided with HCL Quality Server. You must deploy the package on any stand-alone applications, or application servers that host applications that use JDBC to access any live databases that you want to record or virtualize.

For information, about the JDBC proxy package, see HCL OneTest API tool packages.

Proxy capabilities

The HCL OneTest API JDBC proxy enables HCL OneTest API to:

  • Record SQL executed against databases from applications that use JDBC.
  • Create and edit database stubs (HCL OneTest Virtualization only). Database stubs contain subsets of data from a "live" (production) database. The contents of the stubs are built by analyzing an application’s use of SQL against the live database.
  • Start a database stub (HCL OneTest Virtualization only). Starting a stub loads the stub data into a simulation database and transparently redirects the application to that simulation database.
  • Pass through unlearned tables, stored procedures, and INSERT/UPDATE/DELETE statements to replay on a live database.
  • Automatically learn data from tables and queries that are not already contained in the stub.

These capabilities enable you to test JDBC applications in a more deterministic manner.

Proxy modes

When creating database stubs, the following modes of the HCL OneTest API JDBC proxy are relevant:

  • Live
  • Learn
  • Simulate

The purpose of learn mode is to fill the simulation database, which facilitates the creation of database stubs. Creating a stub and then starting it moves the learn mode to simulate mode, and stopping the stub moves the simulate mode to live mode. When in live mode, it is possible to enter learn mode again.

The following diagram illustrates the lifecycle for these modes.

The following diagram illustrates the live mode.

The following diagram illustrates learn mode.

The following diagram illustrates simulate mode.

Datatypes supported by the proxy

The HCL OneTest API JDBC proxy supports VARCHAR(MAX) and NVARCHAR(MAX) types. You can use both in table columns and in stored procedure parameters in any database management system that supports these types.