All Packages Class Hierarchy This Package Previous Next Index
java.lang.Object | +----interbase.interclient.Monitor
The Monitor class is an InterClient extension for monitoring JDBC calls.
Every driver instance has one and only one monitor instance associated with it. The initial monitor for the default driver instance which is implicitly registered with the driver manager has no tracing enabled. Its not recommended to enable tracing for the default driver registered with the driver manager. However, if you create your own driver instance you can tailor the tracing/logging for your driver without affecting the default driver registered with the driver manager.
Here's how to enable the monitor for the default driver registered with the driver manager.
import java.sql.*; Class.forName ("interbase.interclient.Driver"); DriverManager.getConnection ("jdbc:interbase://server//database-dir/atlas.gdb", "sysdba", "masterkey"); java.sql.Driver registeredDriver = DriverManager.getDriver ("jdbc:interbase:"); interbase.interclient.Monitor monitor = ((interbase.interclient.Driver) registeredDriver).getMonitor (); monitor.enableAllTraces (true); monitor.setTraceStream (System.out); DriverManager.getConnection ("jdbc:interbase://server//database-dir/atlas.gdb", "sysdba", "masterkey");Here's how to enable the monitor for an unregistered driver instance.
import java.sql.*; interbase.interclient.Driver unregisteredDriver = new interbase.interclient.Driver (); interbase.interclient.Monitor monitor = unregisteredDriver.getMonitor (); monitor.setTraceStream (System.out); monitor.enableAllTraces (true); interbase.interclient.ConnectionProperties p = new interbase.interclient.ConnectionProperties (); p.setUser ("sysdba", "masterkey"); Connection c = unregisteredDriver.connect ("jdbc:interbase://server//databases/atlas.gdb", p);Here's how to use the Monitor with JBuilder.
import java.sql.*; import borland.jbcl.dataset.*; borland.jbcl.dataset.Database database = new Database (); database.setConnection ( new ConnectionDescriptor ("jdbc:interbase://server//databases/atlas.gdb", "sysdba", "masterkey", false, "interbase.interclient.Driver")); interbase.interclient.Driver registeredDriver = (interbase.interclient.Driver) DriverManager.getDriver ("jdbc:interbase:"); interbase.interclient.Monitor monitor = registeredDriver.getMonitor (); monitor.enableAllTraces (true); monitor.setTraceStream (System.out); borland.jbcl.dataset.QueryDataSet queryDataSet = new QueryDataSet (); queryDataSet.setQuery (new QueryDescriptor (database, "select * from employee", null, true, false));Note: It is good software engineering practice to declare InterClient object instances as interface instances (java.sql.Driver, java.sql.Connection, java.sql.Statement, java.sql.ResultSet, etc...) rather than class instances (interbase.interclient.Driver, interbase.interclient.Connection, interbase.interclient.Statement, interbase.interclient.ResultSet, etc...). In this way, use of InterClient extensions to JDBC must be accompanied by an explicit cast, eg.
((interbase.interclient.Driver) d).getExpirationDate ();
thereby resulting in more portable code.
public synchronized void enableDriverTrace(boolean enable) throws SQLException
public synchronized void enableConnectionTrace(boolean enable) throws SQLException
public synchronized void enableStatementTrace(boolean enable) throws SQLException
public synchronized void enableResultSetTrace(boolean enable) throws SQLException
public synchronized void enableAllTraces(boolean enable) throws SQLException
public synchronized void setTraceStream(PrintStream traceStream)
public synchronized PrintStream getTraceStream()
public synchronized void println(String message)
All Packages Class Hierarchy This Package Previous Next Index