Class JDBCDriver
- java.lang.Object
-
- com.ibm.jtopenlite.database.jdbc.JDBCDriver
-
- All Implemented Interfaces:
- java.sql.Driver
public class JDBCDriver extends java.lang.Object implements java.sql.Driver
A JDBC 3.0 driver that accesses DB2 for IBM i databases.The jtopenlite driver is designed to provide a JDBC driver suitable for use on mobile devices. Because of this, the following features are not supported.
- No JDBC 4.0 support
- No ResultSet positioning (other than rs.next())
- No output parameter support for stored procedure calls
- No lob support
- No XML support
- Minimal connection properties -- i.e. Only SQL naming, no translate binary, ...
- No SQLArray support
- No JDBC escape syntax support
- No prepared statement batching
- No PreparedStatement metadata
- No Autogenerated keys support
- No support for MIXED ccsids
- No support for double byte CCSIDs (except for unicode 1200 and 13488)
- No support for BIDI ccsids
- No support for multiple result sets from stored procedures
To use this driver, the application or caller must register the driver with the JDBC DriverManager. This class also registers itself automatically when it is loaded.
After registering the driver, applications make connection requests to the DriverManager, which dispatches them to the appropriate driver. This driver accepts connection requests for databases specified by the URLs that match the following syntax:
jdbc:jtopenlite://system-name;PROPERTIES
The driver uses the specified system name to connect to a corresponding IBM i system.
Only the following properties are supported
Property Description Choices Default user Specifies the user name for connecting to the server. server user none password Specifies the password for connecting to the server system password none secure Specifies whether a Secure Sockets Layer (SSL) connection is used to communicate with the server - "true" (encrypt all client/serve communication)
- "false" (encrypt only the password)
"false" debug Specifies whether debug information should be recorded - "true" (debug information is recorded)
- "false" (no debug information is recorded)
"false" The following example URL specifies a connection to the database on system mysystem.helloworld.com.
jdbc:jtopenlite://mysystem.helloworld.com
The following is a simple JDBC program
import java.sql.*; import java.io.*; public class RunSql { public final static String PROMPT="ENTER SQL STATEMENT or exit > "; public static void main(String[] args) { try { Class.forName("com.ibm.jtopenlite.database.jdbc.JDBCDriver"); String url = args[0]; String userid = args[1]; String password = args[2]; Connection connection = DriverManager.getConnection(url, userid, password); Statement statement = connection.createStatement(); BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print(PROMPT); String line = reader.readLine().trim(); while (! line.equalsIgnoreCase("exit") ) { try { boolean results = statement.execute(line); if (results) { ResultSet rs = statement.getResultSet(); ResultSetMetaData rsmd = rs.getMetaData(); int columnCount = rsmd.getColumnCount(); StringBuffer sb = new StringBuffer(); while (rs.next()) { sb.setLength(0); sb.append(rs.getString(1)); for (int column = 2; column <= columnCount; column++) { sb.append(","); sb.append(rs.getString(column)); } System.out.println(sb.toString()); } } } catch (SQLException sqlex) { System.out.println("SQLException caught"); System.out.println(sqlex.toString()); } System.out.print(PROMPT); line = reader.readLine().trim(); } } catch (Exception e) { System.out.println("Fatal error occurred"); e.printStackTrace(System.out); System.out.println("Usage: java com.ibm.jtopenlite.samples.RunSql JDBCURL USERID PASSWORD"); } } }
-
-
Field Summary
Fields Modifier and Type Field and Description static java.lang.String
DATABASE_PRODUCT_NAME_
static java.lang.String
DRIVER_LEVEL_
static java.lang.String
DRIVER_NAME_
static int
JDBC_MAJOR_VERSION_
static int
JDBC_MINOR_VERSION_
static int
MAJOR_VERSION_
static int
MINOR_VERSION_
static java.lang.String
URL_PREFIX_
-
Constructor Summary
Constructors Constructor and Description JDBCDriver()
-
Method Summary
Methods Modifier and Type Method and Description boolean
acceptsURL(java.lang.String url)
java.sql.Connection
connect(java.lang.String url, java.util.Properties info)
int
getMajorVersion()
int
getMinorVersion()
java.sql.DriverPropertyInfo[]
getPropertyInfo(java.lang.String url, java.util.Properties info)
boolean
jdbcCompliant()
java.lang.String
toString()
-
-
-
Field Detail
-
DATABASE_PRODUCT_NAME_
public static final java.lang.String DATABASE_PRODUCT_NAME_
- See Also:
- Constant Field Values
-
DRIVER_NAME_
public static final java.lang.String DRIVER_NAME_
- See Also:
- Constant Field Values
-
DRIVER_LEVEL_
public static final java.lang.String DRIVER_LEVEL_
- See Also:
- Constant Field Values
-
MAJOR_VERSION_
public static final int MAJOR_VERSION_
- See Also:
- Constant Field Values
-
MINOR_VERSION_
public static final int MINOR_VERSION_
- See Also:
- Constant Field Values
-
JDBC_MAJOR_VERSION_
public static final int JDBC_MAJOR_VERSION_
- See Also:
- Constant Field Values
-
JDBC_MINOR_VERSION_
public static final int JDBC_MINOR_VERSION_
- See Also:
- Constant Field Values
-
URL_PREFIX_
public static final java.lang.String URL_PREFIX_
- See Also:
- Constant Field Values
-
-
Method Detail
-
acceptsURL
public boolean acceptsURL(java.lang.String url) throws java.sql.SQLException
- Specified by:
acceptsURL
in interfacejava.sql.Driver
- Throws:
java.sql.SQLException
-
connect
public java.sql.Connection connect(java.lang.String url, java.util.Properties info) throws java.sql.SQLException
- Specified by:
connect
in interfacejava.sql.Driver
- Throws:
java.sql.SQLException
-
getMajorVersion
public int getMajorVersion()
- Specified by:
getMajorVersion
in interfacejava.sql.Driver
-
getMinorVersion
public int getMinorVersion()
- Specified by:
getMinorVersion
in interfacejava.sql.Driver
-
getPropertyInfo
public java.sql.DriverPropertyInfo[] getPropertyInfo(java.lang.String url, java.util.Properties info)
- Specified by:
getPropertyInfo
in interfacejava.sql.Driver
-
jdbcCompliant
public boolean jdbcCompliant()
- Specified by:
jdbcCompliant
in interfacejava.sql.Driver
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-