You can use DataDirect Spy to track JDBC calls made by a running application with either of these features:

  • JNDI for Naming Databases
  • Connection Pooling
  • Java Transaction API (JTA)
Note: JTA is supported in the following drivers: DB2, Informix, Oracle, OpenEdge, SQL Server, and Sybase drivers.

You can use DataDirect Spy to track JDBC calls made by a running application with any of these features. The com.ddtek.jdbcx.Oracle.OracleDataSource class supports setting a semi-colon separated list of DataDirect Spy attributes. For more information about configuring data sources, refer to the user’s guide for your driver.

Windows example

The following example creates a JDBC data source for the Oracle driver, which enables DataDirect Spy.

OracleDataSource sds = new OracleDataSource();
sds.setDescription("My Oracle Datasource");
sds.setServerName("Server3");
sds.setPortNumber(1521);
sds.setUser("User123");
sds.setPassword("secret");
sds.setSID("ORCL");
sds.setSpyAttributes("log=(file)C:\\temp\\spy.log;logIS=yes;logTName=yes");
Connection conn=sds.getConnection;
...
Note: If coding a path on Windows to the log file in a Java string, the backslash character (\) must be preceded by the Java escape character, a backslash. For example: log=(file)C:\\temp\\spy.log;logIS=yes;logTName=yes.

DataDirect Spy loads the driver and logs all JDBC activity to the spy.log file located in the C:\temp directory (log=(file)C:\\temp\\spy.log). In addition to regular JDBC activity, the spy.log file also logs activity on InputStream and Reader objects (logIS=yes). It also includes the name of the current thread (logTName=yes).

UNIX example

The following example creates a JDBC data source for the Oracle driver, which enables DataDirect Spy.

OracleDataSource mds = new OracleDataSource();
mds.setDescription("My Oracle Datasource");
mds.setServerName("Server3");
mds.setPortNumber(1521);
mds.setUser("User123");
mds.setPassword("secret");
mds.setSID("ORCL");
mds.setSpyAttributes("log=(file)/tmp/spy.log;logIS=yes;logTName=yes");
Connection conn=mds.getConnection;
...

DataDirect Spy loads the driver and logs all JDBC activity to the spy.log file located in the /tmp directory (log=(file)/tmp/spy.log). In addition to regular JDBC activity, the spy.log file also logs activity on InputStream and Reader objects (logIS=yes). It also includes the name of the current thread (logTName=yes).