![]() ![]() ![]() ![]() ![]() ![]() |
WebLogic JDBC Spy is a wrapper that wraps a WebLogic Type 4 JDBC driver. It logs detailed information about JDBC calls issued by an application and then passes the calls to the wrapped WebLogic Type 4 JDBC driver. You can use the information in the logs to help troubleshoot problems in your application. WebLogic JDBC Spy provides the following advantages:
Note: | The WebLogic JDBC Spy implements standard JDBC APIs only. It does not implement JDBC extensions implemented in other WebLogic Type 4 JDBC drivers. If your application uses JDBC extensions, you may see errors when using the WebLogic JDBC Spy. |
To use WebLogic JDBC Spy with WebLogic Server, you add JDBC Spy attributes to the end of the URL in the JDBC data source configuration. Follow these instructions for modifying your data source configuration:
In the Administration Console on the Domain Configurations Data Sources, select the particular Data Source that you want to be spy enabled. Open the Connection Pool tab and add the spyAttributes to the end of the existing URL. For example:
jdbc:bea:DB2://db2host:50000;spyAttributes=(log=(file)d:\spy.log;timestamp=yes)
Alternatively, in the datasource_name-jdbc.xml file, update the URL in the JDBC data source entry. For example:
<jdbc-driver-params>
<url>jdbc:bea:db2://bangpcdb2:50000;spyAttributes=(log=(file)db2-spy.out;load=weblogic.jdbc.db2.DB2Driver;timestamp=yes)
</url>
<driver-name>weblogic.jdbc.db2.DB2Driver</driver-name>
<properties>
<property>
<name>user</name>
<value>john</value>
</property>
<property>
<name>portNumber</name>
<value>50000</value>
</property>
<property>
<name>databaseName</name>
<value>wls</value>
</property>
<property>
<name>serverName</name>
<value>db2host</value>
</property>
<property>
<name>batchPerformanceWorkaround</name>
<value>true</value>
</property>
</properties>
<password-encrypted>{3DES}hqKps8ozo98=</password-encrypted>
</jdbc-driver-params>
Table D-1 lists the options available for configuring WebLogic JDBC Spy. Use these options as attributes for the spyAttributes property for an XA driver or in the URL for a non-XA driver.
The superscript Numbers are note indicators. See the notes following the example for the referenced text.
All rights reserved.1
registerDriver:driver[className=weblogic.jdbcspy.SpyDriver,
context=null,weblogic.jdbcspy.SpyDriver@1ec49f]2
*Driver.connect(jdbc:spy:{jdbc:bea:sqlserver://QANT:4003;
databaseName=Test;})
trying driver[className=weblogic.jdbcspy.SpyDriver,
context=null,weblogic.jdbcspy.SpyDriver@1ec49f]3
spy>> Driver.connect(String url, Properties info)
spy>> url = jdbc:spy:{jdbc:bea:sqlserver://QANT:4003;databaseName=Test;
OSUser=qauser;OSPassword=null12}
spy>> info = {password=tiger, user=scott}
spy>> OK (Connection[1])4
getConnection returning driver[className=weblogic.jdbcspy.SpyDriver,
context=null,weblogic.jdbcspy.SpyDriver@1ec49f]5
spy>> Connection[1].getWarnings()
spy>> OK6
spy>> Connection[1].createStatement
spy>> OK (Statement[1])7
spy>> Statement[1].executeQuery(String sql)
spy>> sql = select empno,ename,job from emp where empno=7369
spy>> OK (ResultSet[1])8
spy>> ResultSet[1].getMetaData()
spy>> OK (ResultSetMetaData[1])9
spy>> ResultSetMetaData[1].getColumnCount()
spy>> OK (3)10
spy>> ResultSetMetaData[1].getColumnLabel(int column)
spy>> column = 1
spy>> OK (EMPNO)11
spy>> ResultSetMetaData[1].getColumnLabel(int column)
spy>> column = 2
spy>> OK (ENAME)12
spy>> ResultSetMetaData[1].getColumnLabel(int column)
spy>> column = 3
spy>> OK (JOB)13
spy>> ResultSet[1].next()
spy>> OK (true)14
spy>> ResultSet[1].getString(int columnIndex)
spy>> columnIndex = 1
spy>> OK (7369)15
spy>> ResultSet[1].getString(int columnIndex)
spy>> columnIndex = 2
spy>> OK (SMITH)16
spy>> ResultSet[1].getString(int columnIndex)
spy>> columnIndex = 3
spy>> OK (CLERK)17
spy>> ResultSet[1].next()
spy>> OK (false)18
spy>> ResultSet[1].close()
spy>> OK19
spy>> Connection[1].close()
spy>> OK20
1 The WebLogic JDBC Spy driver is registered. The spy>> prefix indicates that this line has been logged by WebLogic JDBC Spy.
2 The JDBC Driver Manager logs a message each time a JDBC driver is registered.
3 This is the logging of the JDBC Driver Manager. It logs a message each time a JDBC application makes a connection.
4 The application connects with the specified URL. The User Name and Password are specified using properties.
5 This is the logging of the JDBC Driver Manager. It logs a message each time a successful connection is made.
6 The application checks to see if there are any warnings. In this example, no warnings are present.
7, 8 The statement “select empno,ename,job from emp where empno=7369” is created.
9, 10, 11, 12, 13 Some metadata is requested.
14, 15, 16, 17 The first row is fetched and its data retrieved.
18 The application attempts to fetch the second row, but the database returned only one row for this query.
19 After fetching all data, the result set is closed.
20 The application finishes and disconnects.
![]() ![]() ![]() |