Contents HP JDBC/MX 5.0 Driver for SQL/MX Programmer's Reference Abstract This document describes how to use the JDBC/MX Driver for NonStop SQL/MX, a type 2 driver, on HP Integrity NonStop™ servers. The JDBC/MX driver provides HP NonStop Server for Java applications with JDBC access to HP NonStop SQL/MX. Where applicable, the JDBC/MX driver conforms to the standard JDBC 3.0 API from Sun Microsystems, Inc.
Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor’s standard commercial license. The information contained herein is subject to change without notice.
HP JDBC/MX 5.0 Driver for SQL/MX Programmer's Reference (540388-006) © 2011 Hewlett-Packard Development Company L.P. All rights reserved.
Home JDBC/MX 5.
minPoolSize Property maxPoolSize Property transactionMode Property Setting Properties in the Command Line Transactions Autocommit Mode and Transaction Boundaries Disabling Autocommit Mode Stored Procedures Limitations SQL Context Management Holdable Cursors Connection Pooling Connection Pooling by an Application Server Connection Pooling Using the Basic DataSource API Connection Pooling with the DriverManager Class Statement Pooling Guidelines for Statement Pooling Controlling the Performance of ResultSet P
Deleting BLOB Data NULL and Empty BLOB or CLOB Value Transactions Involving Blob and Clob Access Access Considerations for Clob and Blob Objects Managing the SQL/MX Tables for BLOB and CLOB Data Creating Base Tables that Have LOB Columns Data Types for LOB Columns Using MXCI to Create Base Tables that Have LOB Columns Using JDBC Programs to Create Base Tables that Have LOB Columns Managing LOB Data by Using the JDBC/MX Lob Admin Utility Running the JDBC/MX Lob Admin Utility Help Listing from the JDBC/MX Lob
Migration Transactions nametype Property Deprecated Property-Name Specification Deprecated Methods According to the J2SE 5.0 API Row Count Array of the PreparedStatement.
Home | Contents | Index | Glossary | Prev | Next About This Document This section explains these subjects: New and Changed Information Is This Document for You? Document Structure Printing This Document Related Reading Notation Conventions Abbreviations New and Changed Information Changes added to this revision - part number 540388-004: Added information on Module File Caching (Module File Caching).
Document Structure This document is a set of linked HTML files (Web pages). Each file corresponds to one of the sections listed and described in the following table. Document Sections Section Description Table of Contents Shows the structure of this document in outline form. Each section and subsection name is a link to that section or subsection.
Messages Lists messages in numerical SQLCODE order. The descriptions include the SQLCODE, SQLSTATE, messagetext, the cause, the effect, and recovery information. Appendix A. Sample Programs Accessing CLOB and BLOB Data Shows sample program accessing CLOB and BLOB data. Glossary Defines many terms that this document uses. Index Lists this document's subjects alphabetically. Each index entry is a link to the appropriate text. List of Examples Lists the examples in this document.
NonStop Server for Java Programmer's Reference This documentation describes NonStop Server for Java 5, a Java environment that supports compact, concurrent, dynamic and portable programs for the enterprise server. NonStop Server for Java Tools Reference Page This documentation consists of a title page, a table of contents, and the Tools Reference Pages for NonStop Server for Java 5. NonStop Server for Java API and Reference This documentation contains the documentation for these packages: com.tandem.os com.
information about installing the sample database. SQL/MX Comparison Guide for SQL/MP Users Compares SQL/MP and SQL/MX. SQL/MX Installation and Management Guide Describes how to install and manage SQL/MX on a NonStop server. SQL/MX Glossary Explains the terminology used in SQL/MX documentation. SQL/MX Query Guide Explains query execution plans and how to write optimal queries for SQL/MX.
Note: Sun Microsystems Java 2 Platform Standard Edition JDK 5.0 Documentation is provided on the NonStop Server for Java 5 product distribution CD in an executable file for your convenience in case you cannot get Java documentation from the Sun Microsystems Web sites. The links to Sun Java documentation in the JDBC/MX driver documentation go to the Sun Microsystems Web sites, which provide more extensive documentation than JDK 5.0. HP cannot guarantee the availability of the JDK 5.
where [threadID|all] { } Braces A group of items enclosed in braces is a list from which you must choose one item. For example: -c identity {true|false} | Vertical Line A vertical line separates alternatives in a list that is enclosed in brackets or braces. For example: where [threadID|all] ... Ellipsis An ellipsis immediately following a pair of brackets or braces indicates that you can repeat the enclosed sequence of syntax items any number of times. For example: print {objectID|objectName} ...
CLOB. Character Large OBject COBOL. Common Business-Oriented Language CPU. central processing unit DCL. Data Control Language DDL. Data Definition Language DML. Data Manipulation Language HTML. Hypertext Markup Language HTTP. Hypertext Transfer Protocol IEC. International Electrotechnical Committee ISO. International Organization for Standardization JAR. Java Archive JCK. Java Conformance Kit JFC. Java Foundation Classes JDBC. Java Database Connectivity JDBC/MP. JDBC Driver for SQL/MP JDBC/MX.
SQLJ. embedded SQL in Java programs SQL/MP. Structured Query Language/MP SQL/MX. Structured Query Language/MX TCP/IP. Transmission Control Protocol/Internet Protocol TMF. Transaction Management Facility URL. uniform resource locator VM. virtual machine WWW. World Wide Web Home | Contents | Index | Glossary | Prev | Next HP JDBC/MX 5.0 Driver for SQL/MX Programmer's Reference (540388-006) © 2011 Hewlett-Packard Development Company L.P. All rights reserved.
Home | Contents | Index | Glossary | Prev | Next Introduction to JDBC/MX Driver The HP JDBC/MX Driver for NonStop SQL/MX implements the JDBC technology that conforms to the standard JDBC 3.0 Data Access API. This JDBC/MX driver enables Java applications to use HP NonStop SQL/MX to access NonStop SQL databases. For more information on the JDBC APIs associated with the JDBC/MX implementation, see Sun Microsystems Documents earlier in this document.
JDBC API Packages The JDBC/MX API packages are shipped with the JDBC/MX driver software. For the API documentation, see the JDBC/MX Driver for NonStop SQL/MX for H50 API Reference in the H-series library in the NonStop Technical Library at docs.hp.com. The java.sql and javax.sql packages are included as part of Java 2, Standard Edition (J2SE) SDK 1.4.2 and, therefore, are available with the core APIs delivered with the NonStop Server for Java 5 product.
run concurrently. This program displays the thread ID and status of the SQL operation before and after each operation. When the program runs in blocking mode, you observe only one thread switch because the begin-transaction operation starts a transaction in SQL nowait mode. When the program runs in nonblocking mode, you can observe many thread switches. holdJdbcMx.java Illustrates the holdable cursor support in the JDBC/MX driver. The program creates a subscriber thread that subscribes to a message queue.
Home | Contents | Index | Glossary | Prev | Next Installing and Verifying JDBC/MX This section explains these subjects: Installation Requirements JDBC/MX Driver File Locations Verifying the JDBC/MX Driver Setting CLASSPATH Setting the _RLD_LIB_PATH Installation Requirements Hardware and software requirements for the JDBC/MX Driver for NonStop SQL/MX are described in the Softdoc file on the NonStop Server for Java 5 product CD, with which the JDBC/MX driver is delivered.
.../lib/libjdbcMx.so JDBC/MX driver library .../lib/jdbcMx.jar JDBC/MX Java archive file, which includes the JDBC trace facility .../bin/jdbcMxInstall JDBC/MX installation script ...
For running JDBC applications, ensure the _RLD_LIB_PATH environment variable path is set to TNS/E jdbcMx PIC file. Given the default installation, the path is: /usr/tandem/jdbcMx/T1275H50/lib Home | Contents | Index | Glossary | Prev | Next HP JDBC/MX 5.0 Driver for SQL/MX Programmer's Reference (540388-006) © 2011 Hewlett-Packard Development Company L.P. All rights reserved.
Home | Contents | Index | Glossary | Prev | Next Accessing SQL Databases with SQL/MX This section describes the following subjects: Connection to SQL/MX JdbcRowSet Implementation JDBC/MX Properties Transactions Stored Procedures SQL Context Management Holdable Cursors Connection Pooling Statement Pooling Using Additional JDBC/MX Properties Supported Character Set Encodings Connection to SQL/MX A Java application can obtain a JDBC connection to SQL/MX in two ways: Using the DriverManager class Using the Da
JDBC/MX Driver Properties Used with the DriverManager Class JDBC/MX driver defines the following set of properties that you can use to configure the driver: Property Name contBatchOnError Type String Value on or off Description Communicates with JDBC driver to continue the remaining jobs in the batch even after any BatchUpdateExceptions. See contBatchOnError Property. catalog String See Default Catalog and Schema.
minPoolSize int Property. free connection pool. See minPoolSize Property. maxPoolSize int See maxPoolSize Property. Sets maximum number of physical connections that the pool should contain. This number includes both free connections and connections in use. See maxPoolSize Property. blobTableName String See LOB Table Name Properties. Specifies the LOB table for using BLOB columns. clobTableName String See LOB Table Name Properties. Specifies the LOB table for using CLOB columns.
subsequent to the first connection for a given catalog and schema combination. As in the basic DataSource object implementation, a Java application can enable statement pooling by setting the property to a non-zero positive value. Connection Using the DataSource Interface The DataSource interface, introduced in the JDBC 2.0 optional package, is the preferred way to establish a connection to the database because it enhances the application portability.
Property. idMapFile String A valid OSS filename Specifies the file to which the trace facility logs SQL statement IDs and the corresponding JDBC SQL statements. See idMapFile Property. ISO88591 String See ISO88591 Property. Specifies the Java encoding used when accessing and writing to ISO88591 columns. See maxPoolSize Property. Sets maximum number of physical connections that the pool should contain. This number includes both free connections and connections in use. See maxPoolSize Property.
JdbcRowSet Implementation An implementation of the JdbcRowSet interface, SQLMXJdbcRowSet , is provided within the com.tandem.sqlmx package. A JdbcRowSet object maintains a connection to the database, similar to a ResultSet object. However, a JdbcRowSet object maintains a set of properties and listener notification mechanisms that make it a JavaBeans™ component. The SQLMXJdbcRowSet object can be created using these SQLMXJdbcRowSet constructors: The default constructor that does not require any parameters.
The default catalog and schema are used to access SQL objects referenced in SQL statements if the SQL objects are not fully qualified. The three-part fully qualified name for SQL/MX objects is of the form: [[catalog.]schema.]object-name The catalog and schema names can be any arbitrary strings that conform to SQL identifiers. These names conform to ANSI SQL:99 catalog and schema names. For example, using the default catalog and schema properties for a table referenced as CAT.SCH.
mploc Property The property mploc specifies the Guardian location in which SQL tables are created. The format for mploc is: [\node].$volume.subvolume Java applications using the JDBC/MX driver can specify mploc by using the system property mploc with the -D option in the command line. -Djdbcmx.mploc=mploc For example with the DriverManager object, in the OSS environment, specify the mploc property in either of the following forms: -Djdbcmx.mploc=[\\node.]\$volume.subvolume or -Djdbcmx.mploc='[\node.
driver throws an SQLException with the message, "Maximum pool size is reached." Specify the maxPoolSize property as: int The integer can be -1, 0 through 2147483647, but greater than minPoolSize. The default is -1 (disables connection pooling). The value determines connection pool use as follows: Any negative value is considered as -1. 0 indicates no maximum pool size. A value of -1 disables connection pooling.
If any other string is specified for the value of transaction mode, mixed is used. Using the external or mixed transaction mode can improve performance. Using the internal transaction mode can affect performance for applications because of the overhead of TMF transactions under a heavy load. This property can be set within a JDBC/MX driver properties file, defined within a DataSource object, or passed in through the java command line.
jdbcmx. idMapFile facility logs SQL statement IDs and the corresponding JDBC SQL statements. See idMapFile Property. jdbcmx. ISO88591 Specifies the encoding to be used when accessing or writing to data stored in IS088591 columns. See ISO88591 Property. jdbcmx. maxPoolSize Sets the maximum pool size. See maxPoolSize Property. jdbcmx. maxStatements Sets the total number of PreparedStatement objects that the connection pool should cache. See maxStatements Property. jdbcmx.
The JDBC/MX driver provides transaction support to maintain data integrity and consistency. To allow the application to interleave transactions between SQL/MX objects and the traditional file system, the JDBC/MX driver checks if a transaction is active whenever it needs to interact with SQL/MX. The transactionMode property determines transaction processing behavior.
{call procedure-name([arg1,arg2, ...])} where argn refers to the parameters sequentially, with the first parameter being arg1 . For more information about the non-escape syntax of the CALL statement, see the SQL/MX Reference Manual. Java applications can use the JDBC standard CallableStatement interface to run stored procedures in SQL/MX by using the CALL statement. For more information, see the SQL/MX Guide to Stored Procedures in Java.
Holdable Cursors JDBC/MX driver supports the holdablity attribute for the ResultSet . To use holdable cursors in your JDBC applications, follow these guidelines: Use one of the following constants for the holdablity attribute: com.tandem.sqlmx.SQLMXResultSet.HOLD_CURSORS_OVER_COMMIT Ensure that when the application calls the method Connection.commit or Connection.rollback , the HOLD_CURSORS_OVER_COMMIT constant indicates that ResultSet objects are not closed. com.tandem.sqlmx.SQLMXResultSet.
Guidelines for Implementing an Application Server to Use Connection Pooling The application server maintains a cache of the PooledConnection objects created by using ConnectionPoolDataSource interface. When the client requests a connection object, the application looks for the suitable PooledConnection object. The lookup criteria and other methods are specific to the application server.
For your JDBC application to enable connection pooling, use the basic DataSource interface, which includes the following properties that control connection pooling: maxPoolSize minPoolSize maxStatements Your application can enable connection pooling in the following two ways: By setting the dataSourceName property in the basic DataSource object to the previously registered ConnectionPoolDataSource object.
Statement Pooling The statement pooling feature allows applications to reuse the PreparedStatement object in same way that they can reuse a connection in the connection pooling environment. Statement pooling is done completely transparent to the application.
Troubleshooting Statement Pooling Note the following JDBC/MX driver implementation details if you are troubleshooting statement pooling: JDBC/MX driver looks for a matching PreparedStatement object in the statement pool and reuses the PreparedStatement . The matching criteria include the SQL string, current catalog, current schema, current transaction isolation, and resultSetHoldability .
When a command in the batch fails, the remaining commands of the batch are not executed resulting in re-execution of entire batch. But, with this Batch Update Exception handling support, the remaining elements of the batch after the error prone statement can be executed and hence re-execution of the entire batch jobs can be avoided. contBatchOnError property The contBatchOnError property communicates with JDBC driver to continue the remaining jobs in the batch even after any BatchUpdateExceptions.
occurs. Nonblocking mode causes the JDBC/MX driver to block only the thread that invokes the SQL operation and not the whole JVM process. In a multithreaded Java application, the nonblocking JDBC/MX feature enables the JVM to schedule other threads concurrently while each SQL operation is being done by a thread. By default, JDBC/MX uses the nonblocking mode. You can disable nonblocking JDBC/MX in a Java application by setting the sqlmx_nowait property to OFF by using the -Djdbcmx.
To set the batchBinding size, specify the batchBinding property in the command line. The syntax is: -Djdbcmx.batchBinding=binding_size where binding_size is a positive, signed, long integer that specifies the maximum number of PreparedStatement.executeBatch() method statements that the JDBC/MX driver can bind together for execution. The integer value can be in the range of 0 to 2 gigabytes. Considerations The values allowed for binding_size can result in your application running out of memory.
VARCHAR_WITH_LENGTH data types only when using the SQL/MX supported character sets listed in the subsequent table. The JDBC/MX driver encodes and decodes String data types as a function of the associated character set name for the particular SQL database column independent of the default encoding. The format of the Java file.encoding property is: -Dfile.encoding=encoding Note: SQL/MX supports a subset of encoding sets supported by NonStop Server for Java 4.
KSC5601 EUC-KR (Code Set 1) EUC_KR systems used by government and banking within Korea. Its encoding is big endian. NOTE: KSC5601 is supported in SQL/MP tables only. For complete information on character sets supported by SQL/MX and any additional limitations on support for SQL/MP tables, see the SQL/MX Reference Manual. For complete information about NonStop Server for Java 5 support for encodings see Supported Encodings (http://java.sun.com/j2se/1.5.0/docs/guide/intl/encoding.doc.html).
Home | Contents | Index | Glossary | Prev | Next Working with BLOB and CLOB Data This section describes working with BLOB and CLOB data in JDBC applications. You can use the standard interface described in the JDBC 3.0 API specification to access BLOB and CLOB data in NonStop SQL/MX tables with support provided by the JDBC/MX driver. and CLOB are not native data types in an SQL/MX database.
Architecture for LOB Support The tables that support LOB data are: Base table Referenced by JDBC applications to insert, store, read, and update BLOB and CLOB data. In the base table, the JDBC/MX driver maps the BLOB and CLOB columns into a data-locator column. The data-locator column points to the actual LOB data that is stored in a separate user table called the LOB table. LOB table Actually contains the BLOB and CLOB data in chunks. A Clob or Blob object is identified by a data locator.
object by using one of the following properties, depending on the LOB column type: LOB Column Type Property name BLOB blobTableName CLOB clobTableName For more information about using these properties, see LOB Table Name Properties. Reserving Data Locators A data locator is the reference pointer value (SQL LARGEINT data type) that is substituted for the BLOB or CLOB column in the base table definition. Each object stored into the LOB table is assigned a unique data locator value.
You can now write data to the CLOB column. See Writing ASCII or Unicode Data to a CLOB Column. Writing ASCII or Unicode Data to a CLOB Column You can write ASCII or Unicode data to a CLOB column as follows. ASCII Data Unicode Data ASCII Data You can write ASCII or Unicode data to the CLOB column by using the Clob interface. The following code illustrates using the setAsciiStream method of the Clob interface to write CLOB data.
into myTable (myClobColumn) values (?)"); ps.setAsciiStream(1, inputAsciiStream, clobLen); ps.executeUpdate(); The JDBC/MX driver reads the data from FileInputSteam and writes the data to the LOB table. The JDBC/MX driver substitutes the next-available data locator for the parameter of the CLOB column in the table. Unicode Data You can insert a CLOB column with Unicode data from a FileReader . You must use the PreparedStatement interface to insert the CLOB column.
Reading Unicode Data from a CLOB Column You can read Unicode data from the CLOB column by using the Clob interface or Reader. The following code illustrates how to read the Unicode data from the CLOB column by using the Clob interface. // Obtain the Clob from ResultSet Clob myClob = rs.getClob("myClobColumn"); // Obtain the input stream to read Clob data Reader cs = myClob.getCharacterStream(); // read Clob data using Reader char[] myClobData = new char[length]; int readLen = cs.
Deleting CLOB Data To delete CLOB data, the JDBC application uses the SQL DELETE statement to delete the row in the base table. When the row containing the CLOB column is deleted by the JDBC application, the corresponding CLOB data is automatically deleted by the delete trigger associated with the base table. For information about triggers, see Using an SQL/MX Trigger to Delete LOB Data. See also NULL and Empty BLOB or CLOB Value.
Writing Binary Data to a BLOB Column You can write data to the BLOB column by using Blob interfaces. The following code illustrates using the setBinaryStream method of the Blob interface to write BLOB data. Blob myBlob = null // Stream begins at position 1 long pos = 1; // Example string containing binary data String s = "BINARY_DATA"; for (int i=0; i<5000; i++) s = s + "DATA"; // Obtain the output stream to write Blob data OutputStream os = myBlob.
// obtain the InputStream from ResultSet InputStream is = rs.getBinaryStream("myBlobColumn"); // read Blob data using the InputStream byte[] myBlobData = new byte[length]; is.read(myBlobData, offset, length); Updating BLOB Data You can update BLOB data by using the methods in the Blob interface or by using the updateClob method of the ResultSet interface. The JDBC/MX driver makes changes to the BLOB data directly.
See also NULL and Empty BLOB or CLOB Value. NULL and Empty BLOB or CLOB Value The data locator can have a NULL value if the BLOB or CLOB column is omitted in the insert statement. The JDBC/MX driver returns NULL when the application retrieves the value for such a column. When the application uses the EMPTY_BLOB() method or EMPTY_CLOB() method to insert empty BLOB or CLOB data into the BLOB or CLOB column, JDBC/MX driver returns the Blob or Clob object with no data.
throws an SQLException, issuing the following message, when the application attempts to perform operations on a LOB object that is not current: Lob object {object-id} is not current Only one InputStream or Reader and one OutputStream or Writer can be associated with the current LOB object. When the application obtains the InputStream or Reader from the LOB object, the JDBC/MX driver closes the InputStream or Reader that is already associated with the LOB object.
Home | Contents | Index | Glossary | Prev | Next Managing the SQL/MX Tables for BLOB and CLOB Data and CLOB are not native data types in an SQL/MX database. But, database administrators can create SQL/MX tables that have BLOB and CLOB columns by using the JDBC/MX driver or special SQL syntax in MXCI as described in this section. For management purposes, CLOB and BLOB data is referred to as large object (LOB) data, which can represent either data type.
Using MXCI To Create Base Tables that Have LOB Columns Before using the procedure to create the tables, note that when using MXCI to create base tables, you must enter the following special command in the MXCI session to enable the base table creation of tables that have LOB ( BLOB or CLOB ) columns: CONTROL QUERY DEFAULT JDBC_PROCESS 'TRUE' Follow these steps to create a base table that has LOB columns: 1. At the OSS prompt, invoke the SQL/MX utility MXCI. Type: MXCI 2.
Creating the SQL/MX triggers for the LOB columns in the base tables to ensure that orphan LOB data does not occur in a LOB table. Information about using the JDBC/MX Lob Admin Utility is provided in these topics. Running the JDBC/MX Lob Admin Utility Help Listing from the JDBC/MX Lob Admin Utility Using SQL/MX Triggers to Delete LOB Data Running the JDBC/MX Lob Admin Utility Run the JDBC/MX Lob Admin utility in the OSS environment.
-drop must exist. -out Writes the SQL statements to a specified file in OSS file space. table_name The table_name represents a base table that contains LOB columns. The table_name is of the form: [catalogName.][schemaName.]baseTableName For information about catalog, schema, and table names, see the SQL/MX Reference Manual. Help Listing from the JDBC/MX Lob Admin Utility The command to display JDBC/MX Lob Admin utility help appears below followed by the help listing.
For example, the following command (typed on one line) generates the SQL statements to create the triggers for the base table sales.paris.pictures, which contains a BLOB column, and executes those statements. java -Djdbcmx.blobTableName=sales.paris.lobTable4pictures JdbcMxLobAdmin -trigger -exec sales.paris.
Home | Contents | Index | Glossary | Prev | Next Module File Caching (MFC) The Module File Caching (MFC) feature shares the SQL/MX prepared statement plans among the JDBC/MX T2 database connections and JVM processes. It helps in reducing the SQL/MX compilation time during the steady state of the JDBC/MX T2 application, thereby reducing resource consumption. Note: Module File Caching is supported only on systems running J06.07 and later J-series RVUs and H06.18 and later H-series RVUs.
(CQS). It is recommended to set the CQD in SQL/MX for disabling the auto-recompilation feature of the SQL/MX while using with MFC. This ensures that automatic recompilations are avoided due to changes in SQL/MX objects because the plans are generated in the module file. The application will receive an SQL/MX exception if there is an auto-recompilation required for the query. You must clean the stale module files before continuing with the application.
.mdf Files These temporary files are generated during preprocessing. These .mdf files are retained for easier support and troubleshooting. Disk Activity The MFC access plans, stored in the disk OSH location ( /usr/tandem/sqlmx/USERMODULE ), increases the processor utilization of the disks. To overcome this problem, use the fileset for that directory. It is beneficial to have OSS caching on data volumes. To enable fileset and OSS caching, see Enable Fileset and OSS Caching.
2. At an SCF prompt, enter the following SCF command to stop all filesets on your system: STOP FILESET $ZPMON.* This command begins with the last fileset mounted and stops the filesets in the reverse order in which they were last started. 3. Stop the OSS Monitor process: If the OSS Monitor is running as a standard process, enter the STOP command at a TACL prompt: STOP $ZPMON If the OSS Monitor is running as a persistent process, enter the ABORT command at an SCF prompt: ABORT PROCESS $ZZKRN.#ZPMON 4.
Stmt1 = Prepare("select * from testing") Success Stmt1.execute() Success Compiled plan is retrieved from MFC, which is not correct because the table Success datatype is changed when the MFC plan is created. MXOSRVR turned the SQL/MX CQD recompilation_warnings ON. SQL/MX throws SQL exception upon similarity Failure check failure and MXOSRVR drops the invalid module file from the /usr/tandem/sqlmx/USERMODULES Stmt1 = Prepare("select * from testing") Stmt1.execute() Success Success location.
Home | Contents | Index | Glossary | Prev | Next JDBC/MX Compliance The JDBC/MX Driver for NonStop SQL/MX conforms where applicable to the Sun Microsystems JDBC 3.0 API specification. However, the JDBC/MX driver differs from the JDBC standard in some ways because of limitations of NonStop SQL/MX and the JDBC/MX driver. This subsection describes the JDBC methods that are not supported, the methods and features that deviate from the specification, and features that are HP extensions to the JDBC standard.
CallableStatement.getURL(int parameterIndex) CallableStatement.getURL(String parameterName) CallableStatement.executeBatch() Connection.releaseSavepoint(Savepoint savepoint) Connection.rollback(Savepoint savepoint) Connection.setSavepoint() Connection.setSavepoint(String name) The particular Connection methods are not supported. PreparedStatement.setArray(int parameterIndex, Array x) PreparedStatement.setRef(int parameterIndex, Ref x) PreparedStatement.
The following methods in the java.sql package throw an SQLException with the message "Data type not supported:" Method Comments CallableStatement.getBytes(int parameterIndex) CallableStatement.getBytes(String parameterName) The particular data type is not supported. CallableStatement.setBytes(String parameterIndex, bytes[] x) Supports only BLOB, VARCHAR, BINARY, LONGVARCHAR, VARBINARY, and LONGVARBINARY; otherwise, the particular data type is not supported. PreparedStatement.
javax.sql.JdbcRowSet.getURL(String columnName) javax.sql.JdbcRowSet.rollback(Savepoint savepoint) javax.sql.JdbcRowSet.setArray(int parameterIndex, Array x) javax.sql.JdbcRowSet.setRef(int parameterIndex, Ref x) javax.sql.JdbcRowSet.updateArray(int columnIndex) javax.sql.JdbcRowSet.updateArray(String columnName) javax.sql.JdbcRowSet.updateRef(int columnIndex) javax.sql.JdbcRowSet.updateRef(int columnIndex) For additional information about deviations for some methods, see Deviations.
int[] types) its value is set to NULL because SQL/MX does not support the base type. java.sql.DatabaseMetaData.getVersionColumns() Mimics the DatabaseMetaData.getBestRowIdentifier() method because SQL/MX does not support SQL_ROWVER (a columns function that returns the column or columns in the specified table, if any, that are automatically updated by the data source when any value in the row is updated by any transaction). java.sql.DriverManager.
javax.sql.JdbcRowSet.setPassword(String password) ignored. Security privileges are the same as for the user who invoked the Java VM. javax.sql.JdbcRowSet(String url, String username, String password) javax.sql.JdbcRowSet.setReadOnly(...) The read-only attribute is ignored. javax.sql.JdbcRowSet.setEscapeProcessing(...) Disabling escape processing has no effect because SQL/MX parses the escape syntax. javax.sql.JdbcRowSet.setFetchDirection(...) The fetch direction attribute is ignored. javax.sql.
mode. With the BatchUpdate Exception handling improvements support, JDBC driver now continues processing the remaining jobs in the batch even after BatchUpdateExceptions. If there is any Batch exceptions encountered during the execution, the exception is queued up and the remaining batch commands are executed. At the execution completion of all elements in the batch the queued exceptions are thrown. The user application must handle, commit, or rollback of batch transaction on an exception.
SQL Scalar Functions JDBC/MX maps JDBC scalar functions to their equivalent SQL/MX functions, as shown in the following tables: Numeric Functions JDBC Function SQL/MX Equivalent Function ABS ABS ACOS ACOS ASIN ASIN ATAN ATAN ATAN2 ATAN2 CEILING CEILING COS COS DEGREES DEGREES EXP EXP FLOOR FLOOR LOG LOG LOG10 LOG10 MOD MOD PI PI POWER POWER RADIANS RADIANS SIGN SIGN SIN SIN SINH SINH SQRT SQRT TAN TAN String Functions JDBC Function SQL/MX Equivalent Function ASC
LEFT SUBSTRING LENGTH LENGTH LOCATE LOCATE LOWER LOWER LPAD LPAD LTRIM LTRIM OCTET_LENGTH OCTET_LENGTH POSITION POSITION REPEAT REPEAT REPLACE REPLACE RIGHT RIGHT RTRIM TRIM...
HOUR HOUR JULIANTIMESTAMP JULIANTIMESTAMP MINUTE MINUTE MONTH MONTH MONTHNAME MONTHNAME QUARTER QUARTER SECOND SECOND WEEK WEEK YEAR YEAR System Functions JDBC Function SQL/MX Equivalent Function CURRENT_USER CURRENT_USER SYSTEM_USER SYSTEM_USER USER USER CONVERT Function JDBC/MX uses the SQL/MX CAST function to support the JDBC CONVERT function.
Types.BLOB Yes Types.CHAR Yes Types.CLOB Yes Types.DATE Yes DATE Types.DECIMAL Yes DECIMAL(p,s) Types.DISTINCT No Types.DOUBLE Yes DOUBLE PRECISION Yes FLOAT(p) Types.INTEGER Yes INTEGER Types.JAVA_OBJECT No Types.LONGVARBINARY No Types.LONGVARCHAR Yes** Types.NULL No Types.NUMERIC Yes NUMERIC(p,s) Types.REAL Yes FLOAT(p) Types.REF No Types.SMALLINT Yes Types.STRUCT No Types.TIME Yes TIME Types.TIMESTAMP Yes TIMESTAMP Types.TINYINT No Types.
DATETIME DATETIME DATETIME DATETIME DATETIME DATETIME DATETIME DATETIME DATETIME DATETIME DATETIME DATETIME DATETIME DATETIME DATETIME YEAR TO MINUTE MONTH MONTH TO DAY MONTH TO HOUR MONTH TO SECOND DAY DAY TO HOUR DAY TO MINUTE DAY TO SECOND HOUR HOUR TO MINUTE MINUTE MINUTE TO SECOND SECOND FRACTION INTERVAL INTERVAL INTERVAL INTERVAL INTERVAL INTERVAL INTERVAL INTERVAL INTERVAL INTERVAL INTERVAL INTERVAL INTERVAL YEAR(p) YEAR(p) TO MONTH MONTH(p) DAY(p) DAY(p) TO HOUR DAY(p) TO MINUTE DAY(p) TO SECOND
{ t 'time-literal' } TIME 'time-literal' { ts 'timestamp-literal' } TIMESTAMP 'timestamp-literal' { oj join-expression } join-expression * { INTERVAL sign interval-string interval-qualifier } INTERVAL sign interval-string interval-qualifier { fn scalar-function } scalar-function { escape 'escape-character' } escape 'escape-character' { call procedure-name... } CALL procedure-name... { ?=call procedure-name...
Home | Contents | Index | Glossary | Prev | Next JDBC Trace Facility The JDBC trace facility traces the entry point of all JDBC methods called from the Java applications. To make this facility generic, it is implemented as a JDBC driver wrapper. The JDBC trace facility can be enabled in any of the following ways in which a JDBC connection to a database can be obtained: Tracing using the DriverManager Class Tracing using the DataSource Implementation Tracing using the java command Tracing using the system.
name is mapped to a trace data source object by means of a naming service that uses the Java Naming and Directory Interface (JNDI).
Set the system property before the program makes any JDBC API calls. Tracing by Loading the Trace Driver Within the Program Enable tracing by loading the JDBC trace driver within the program by using the Class.forName("com.tandem.jdbc.TDriver") method. This method also requires that you set the DriverManager.setLogWriter method. Tracing Using a Wrapper Data Source Enable tracing by creating a wrapper data source around the data source to be traced.
where n is an integer that specifies the tracing level. The value can be 0, 1, or 2. The default level is 0. Any value greater than 2 is treated like 2. The tracing levels are: Level Meaning 0 No tracing. 1 Traces connection and statement pooling information. 2 Traces the LOB-code path only. 3 Traces the entry point of all JDBC methods. Note: Only one traceFlag value can be in effect at a time.
return-object-id is the hashcode of the object returned by the traced method. Trace output is sent to the PrintWriter specified in the setLogWriter method. Example 1 jdbcTrace:[10/12/05 10:04:39] [Thread[main,5,main]]:[5256233]:com.tandem.sqlmx.SQLMXPreparedStatement.executeQuery() Example 2 Some traced methods will have two trace statements, one for the method entry point and the other for return object mapping.
To specify supplemental logging: 1. Set the enableLog property to on to enable logging. 2. Set the idMapFile property to specify the log file. By default, the log is written to the screen. For additional information about these properties, see enableLog Property and idMapFile Property. You can specify these properties either in the command line or in the program similar to setting tracing described earlier under Tracing Using the java Command and Tracing Using the system.setProperty Method.
Corresponding JDBC SQL Statements. Statement-ID Log Output The format of a statement-ID log output entry is: [timestamp] STMTobject-id (sql-statement) where timestamp is the day and time representation in the form: mm/dd/yy hr:min:sec where mm is month; dd, day; yy, year; hr, hour; min , minute; sec , seconds. object-id is the hashcode of the JDBC object. sql-statement is the actual SQL statement mapped to the statement ID.
Home | Contents | Index | Glossary | Prev | Next Migration This section describes the considerations and application changes required to migrate applications from the JDBC/MX V30, V31, V32, H10 drivers to the JDBC/MX H50 driver.
Transactions Transaction semantics changed in the V31 product from the previous versions of the JDBC/MX driver when the connection is set to autocommit mode. In previous releases, when multiple select statements were involved in a transaction in autocommit mode, the JDBC/MX driver ended the transaction when any select statement result set was closed. In this release, the JDBC/MX driver ends the transaction only when the result set of the select statement that started the transaction is closed.
traceFile jdbcmx.traceFile traceFlag jdbcmx.traceFlag sqlmx_nowait jdbcmx.sqlmx_nowait Note: Support for the deprecated property-name specification will end in a future JDBC/MX driver release. HP recommends that you migrate your JDBC applications to use the new property-name specification. Deprecated Methods According to the J2SE 5.0 API The following methods are marked as deprecated according to the J2SE 5.0 API, but functionality remains unchanged to minimize impact on existing user applications.
VARCHAR_WITH_LENGTH data types that utilize a double-byte character set. The double-byte character sets supported by JDBC/MX are ISO88591, UCS2, KANJI, and KSC5601. Previously, String type column data was always encoded using the default character set encoding, which was typically ISO88591, but KANJI and KSC5061 were also supported.
For Java migration issues, see the NonStop Server for Java Programmer's Reference. Release of NonStop SQL/MX JDBC/MX requires these versions of NonStop SQL/MX: JDBC/MX V30 requires NonStop SQL/MX 1.8.5. JDBC/MX V31 requires NonStop SQL/MX 2.0. JDBC/MX V32 requires NonStop SQL/MX 2.0 or all subsequent 2.x versions until otherwise indicated in a replacement publication. For SQL/MX migration issues, see the SQL/MX Installation and Management Guide.
Home | Contents | Index | Glossary | Prev | Next Messages JDBC/MX returns sqlcode and file-system error codes as error codes for the getErrorCode() method of SQLException.
29003 HY000 Statement does not exist Cause: A validation attempt was made on the getter or exec invocation on a closed statement. Effect: The getter or exec invocation validation fails. Recovery: Issue validateGetInvocation() or validateExecDirectInvocation when the statement is open. [back to the top] 29004 HY024 Invalid transaction isolation value Cause: An attempt was made to set the transaction isolation level to an invalid value. Effect: SQLMXConnection.
29009 HY109 Invalid cursor position Cause: An attempt was made to perform a deleteRow() method or updateRow() method or cancelRowUpdates method when the ResultSet row cursor was on the insert row. Or an attempt was made to perform the insertRow() method when the ResultSet row cursor was not on the insert row. Effect: The row changes and cursor manipulation do not succeed. Recovery: To insert a row, move the cursor to the insert row. To delete, cancel, or update a row, move the cursor from the insert row.
[back to the top] 29015 HY024 Invalid fetch direction Cause: The setFetchDirection() method direction parameter is set to an invalid value. Effect: The direction in which the rows in this ResultSet object are processed is not set. Recovery: Valid fetch directions are: ResultSet.FETCH_FORWARD , ResultSet.FETCH_REVERSE , and ResultSet.FETCH_UNKNOWN .
[back to the top] 29021 HY004 Object type not supported Cause: A prepared-statement setObject() method call contains an unsupported Object Type. Effect: The setObject() method does not set a value for the designated parameter. Recovery: Informational message only; no corrective action is needed. Valid Object Types are: null , BigDecimal , Date , Time , Timestamp , Double, Float , Long , Short , Byte , Boolean , String, byte[], Clob , and Blob .
Recovery: Disable AutoCommit . Use the method only when the AutoCommit mode is disabled. [back to the top] 29027 HY011 SetAutoCommit not possible, since a transaction is active Cause: An attempt was made to call the setAutoCommit() mode while a transaction was active. Effect: The current AutoCommit mode is not modified. Recovery: Complete the transaction, then attempt to set the AutoCommit mode.
the NOT NULL clause in the column definition. [back to the top] 29035 HY000 IO Exception occurred {0} Cause: An ASCII or Binary or Character stream setter or an updater method resulted in a java.io.IOException . Effect: The designated setter or updater method does not modify the ASCII or Binary or Character stream. Recovery: Informational message only; no corrective action is needed. [back to the top] 29036 HY000 Unsupported encoding {0} Cause: The character encoding is not supported.
Effect: The ResultSet row information retrieval does not succeed. Recovery: To retrieve row information, move the ResultSet object cursor away from the insert row. [back to the top] 29041 HY000 Operation invalid. No primary key for the table Cause: The getKeyColumns() method failed on a table that was created without a primary-key column defined. Effect: No primary-key data is returned for the table. Recovery: Change the table to include a primary-key column.
[back to the top] 29047 HY000 Batch update failed. See next exception for details Cause: One of the commands in a batch update failed to execute properly. Effect: Not all the batch-update commands succeed. See the subsequent exception for more information. Recovery: View the subsequent exception for possible recovery actions. [back to the top] 29048 HY009 Invalid use of null Cause: A parameter that has an expected table name is set to null. Effect: The DatabaseMetadata method does not report any results.
29053 HY000 SQL SELECT statement is invalid in executeUpdate() method Cause: A select SQL statement was used in the executeUpdate() method. Effect: The SQL query not performed exception is reported. Recovery: Use the executeQuery() method to issue the select SQL statement. [back to the top] 29054 HY000 Only SQL SELECT statements are valid in executeQuery() method Cause: A non-select SQL statement was used in the executeQuery() method. Effect: The exception reported is " SQL query not performed ".
Cause: Attempted to access a BLOB column without setting the property blobTableName , or the property is set to an invalid value. Effect: The application cannot access BLOB columns. Recovery: Set the blobTableName property to a valid LOB table name. The LOB table name is of format catalog.schema.lobTableName .
29065 22018 Java data type cannot be converted to the specified SQL data type Cause: A PreparedStatement setter method Java object conversion to the given SQL data type is invalid. Effect: An exception is thrown; data is not updated. Recovery: Make sure that the column data type is valid for the PreparedStatement setter method. [back to the top] 29066 22018 The String data {0} cannot be converted to a numeric value Cause: A PreparedStatement setter method could not convert a string to an integer.
29071 HY000 Internal programming error - {0} Cause: The JNI layer (get Object method) always returns a byte array and, therefore, any other instance is considered a programming error. Effect: An exception is reported. Recovery: None. The error is internal to the JDBC/MX driver. [back to the top] 29072 HY000 Attempting to exceed the maximum connection pool size ({0,number,integer}) Cause: An attempt was made to obtain a connection outside the set connection pool size limit. Effect: An exception is thrown.
Effect: An SQL warning condition. Statements continue to be added to the internal cache. Recovery: An SQL warning condition. Use the maxStatements property (or -Djdbcmx.maxStatements command-line property) to increase the number of statements allowed. [back to the top] 29077 HY000 HY000 Max rows value cannot be less than the fetch size Cause: The row value passed to the JdbcRowSet.
Recovery: Call the setMatchColumn() method with a valid non-null column-name string. [back to the top] 29083 HY000 Columns being unset are not the same as those set Cause: The designated column passed to the unsetMatchColumn() method was not previously set as a match column. Effect: The designated column is not unset for this JdbcRowSet object. Recovery: Use the setMatchColumn() method to set the designated column as a match column.
[back to the top] 29089 HY000 JdbcRowSet connect error - {0} {1} Cause: The driver encountered an internal error when attempting to establish a connection. Effect: An exception is reported. Recovery: None. The error is internal to the JDBC/MX driver.
29255 HY000 TMF error has occurred : [tmf-error] Cause: An internal transaction request failed. Effect: An exception is reported; the operation is not completed. Recovery: Refer to the TMF error message tmf-error. [back to the top] 29256 HY000 Error while obtaining the system catalog name : [error] Cause: During initialization of the JDBC driver, an error occurred when attempting to determine a system catalog name. Effect: The JDBC driver is not registered with the Driver Manager.
29261 HY000 No error message in SQL/MX diagnostics area, but sqlcode is non-zero Cause: An SQL error was detected but no error message was reported by SQL/MX. Effect: An SQL exception or warning is thrown without a diagnostic message. Recovery: Unknown. [back to the top] 29262 HY090 Invalid or null sql string Cause: A stored-procedure or prepared-statement call contains an invalid SQL string. Effect: The stored procedure or prepared statement is not executed.
29267 HY000 Exceeded JVM allocated memory Cause: JDBC attempted to internally allocate JVM memory after it has been exhausted. Effect: The condition is a function of the JVM heap size. An exception is thrown. Recovery: Configure the maximum JVM heap size accordingly.
Home | Contents | Index | Glossary | Prev | Next Appendix A. Sample Programs Accessing CLOB and BLOB Data This appendix shows two working programs: Sample Program Accessing CLOB Data Sample Program Accessing BLOB Data Sample Program Accessing CLOB Data This sample program shows operations that can be performed through the CLOB interface or through the PreparedStatement interface.
java.io.IOException { int int long long Connection length = 500; recKey; start; end; conn1 = null; // Set jdbcmx.clobTableName System Property. This property // can also be added to the command line through // "-Djdbcmx.clobTableName=...", or a // java.util.Properties object can be used and passed to // getConnection. System.setProperty( "jdbcmx.clobTableName","cat.sch.clobdatatbl" ); if (args.length < 2) { System.out.
// insert a second base table row with an empty LOB column System.out.println("CLOB interface EMPTY LOB insert..."); String stmtSource2 = "insert into clobbase values (?,EMPTY_CLOB())"; PreparedStatement stmt2 = conn1.prepareStatement(stmtSource2); stmt2.setInt(1,recKey+1); stmt2.executeUpdate(); Clob clob = null; // System.out.println("Obtaining CLOB data to update (EMPTY in this case)..."); PreparedStatement stmt3 = conn1.prepareStatement("select col2 from clobbase where col1 = ? for update"); stmt3.
// - need an Inputstream object that already has data // - need a PreparedStatement object that contains the // 'insert...' DML of the base table // - ps.setAsciiStream() for the lob data // - ps.executeupdate(); for the DML // // To run this example, issue the following: // # java TestBLOB 1 TestBLOB.class 1000 // import java.sql.*; import java.io.*; public class TestBLOB { public static void main (String[] args) throws java.io.FileNotFoundException, java.io.
stmt1.executeUpdate(); conn1.commit(); } catch (SQLException e) { e.printStackTrace(); SQLException next = e; do { System.out.println("Messge : " + e.getMessage()); System.out.println("Error Code : " + e.getErrorCode()); System.out.println("SQLState : " + e.getSQLState()); } while ((next = next.getNextException()) != null); } // Blob interface example - This technique is suitable when // the LOB data is already in the app, such as having been // transfered in a msgbuf.
Home | Contents | Index | Prev | Next Glossary ABCDEFGHIJLMNOPQRSTUVWXYZ A abstract class In Java, a class designed only as a parent from which subclasses can be derived, which is not itself suitable for instantiation. An abstract class is often used to "abstract out" incomplete sets of features, which can then be shared by a group of sibling subclasses that add different variations of the missing pieces.
base table A table that has physical existence: that is, a table stored in a file. BLOB Short for Binary Large OBject, a collection of binary data stored as a single entity in a database management system. These entities are primarily used to hold multimedia objects such as images, videos, and sound. They can also be used to store programs or even fragments of code. A Java Blob object (Java type, java.sql.Blob ) corresponds to the SQL BLOB data type.
dynamically locking and unlocking affected records to ensure that only one transaction at a time accesses those records. connection pooling A framework for pooling JDBC connections. Core Packages The required set of APIs in a Java platform edition which must be supported in any and all compatible implementations. D Data Control Language (DCL) The set of data control statements within the SQL/MP language. Data Manipulation Language (DML) The set of data-manipulation statements within the SQL/MP language.
fault tolerance The ability of a computer system to continue processing during and after a single fault (the failure of a system component) without the loss of data or function. G get() method A method used to read a data item. For example, the SQLMPConnection.getAutoCommit() method returns the transaction mode of the JDBC driver's connection to an SQL/MP or SQL/MX database. Compare to set() method. Guardian An environment available for interactive and programmatic use with the NonStop operating system.
hyperlink A reference (link) from a point in one hypertext document to a point in another document or another point in the same document. A browser usually displays a hyperlink in a different color, font, or style. When the user activates the link (usually by clicking on it with the mouse), the browser displays the target of the link.
vendor. HP documents often use the term connectivity in this context, while other vendors use connectivity to mean hardware compatibility. Within a NonStop system node, the ability to use the features or facilities of one environment from another. For example, the gtacl command in the OSS environment allows an interactive user to start and use a Guardian tool in the Guardian environment. interpreter The component of the Java VM that interprets bytecode into native machine code.
Java virtual machine (JVM) The process that loads, links, verifies, and interprets Java bytecode. The NonStop Server for Java 5 implements the Java HotSpot virtual machine. JDBC See Java Database Connectivity (JDBC). JDBC API The programmatic API in Java to access relational databases. JDBC Trace Facility A utility designed to trace the entry point of all the JDBC methods called from the Java applications. JDBC/MP See HP JDBC Driver for SQL/MP (JDBC/MP). JDBC/MX See HP JDBC Driver for SQL/MX (JDBC/MX).
In the context of Java programming, something written in a language other than Java (such as C or C++) for a specific platform. node One of the following: An addressable device attached to a computer network. A hypertext document. NonStop Server for Java 5 The informal name of the NonStop Server for Java, based on the Java 2 Platform Standard Edition 5.0 products. This product is a Java environment that supports compact, concurrent, dynamic, and portable programs for the enterprise server.
POSIX See Portable Operating System Interface X (POSIX). protocol A set of formal rules for transmitting data, especially across a network. Low-level protocols define electrical and physical standards, bit-ordering, byte-ordering, and the transmission, error detection, and error correction of the bit stream. High-level protocols define data formatting, including the syntax of messages, the terminal-tocomputer dialogue, character sets, sequencing of messages, and so on.
SQL context An instantiation of the SQL executor with its own environment. SQLJ Also referred to as SQLJ Part 0, the "Database Language SQL—Part 10: Object Language Bindings (SQL/OLB)" part of the ANSI SQL-2002 standard that allows static SQL statements to be embedded directly in a Java program. SQL/MP See HP NonStop SQL/MP. SQL/MX See HP NonStop SQL/MX. statement pooling A framework for pooling PreparedStatement objects.
A user-defined action that a client program (usually running on a workstation) requests from a server. Transaction Management Facility (TMF) A set of HP software products for NonStop systems that assures database integrity by preventing incomplete updates to a database. It can continuously save the changes that are made to a database (in real time) and back out these changes when necessary. It can also take online "snapshot" backups of the database and restore the database from these backups.
Home | Contents | Index | Prev | Next HP JDBC/MX 5.0 Driver for SQL/MX Programmer's Reference (540388-006) © 2011 Hewlett-Packard Development Company L.P. All rights reserved.
Home | Contents | Glossary | Prev Index ABCDEFGHIJKLMNOPQRSTUVWXYZ A Abbreviations used in this document Accessing NonStop SQL databases with JDBC/MX driver Admin Utility See JDBC/MX Lob Admin Utility ANSI API packages Application servers connection pooling tracing Architecture JDBC/MX driver LOB support ASCII data inserting by using the PreparedStatement interface reading from a CLOB column writing by using the Clob interface Audience for this document Autocommit mode application migration issues disabli
working with Blob interface inserting BLOB columns reading binary data from a CLOB column using Blob objects access considerations replacing blobTableName property Blocking Java VM process See Nonblocking JDBC/MX C Catalog, default Character set encodings ISO88591 property migration considerations CLASSPATH environment variable CLOB (Character Large Object) accessing, sample program creating tables for data type deleting data limitations managing tables for reading data storing data support architecture up
D Data locators reserving setting the reserveDataLocators property DataSource interface connection pooling CreateDataSource sample program enabling tracing dataSourceName property Data types for LOB columns limitations of CLOB and BLOB support of Default catalog and schema Deleting BLOB data CLOB data Demonstration programs of JDBC trace facility summary Deprecated property names Deviations from JDBC in JDBC/MX 3.
Features in the JDBC/MX driver deviations from JDBC extensions to JDBC unsupported features Fetch size File encoding migration considerations File locations installation migration considerations Floating point support G method See Connecting programs to databases getConnection H Help listing, JDBC/MX Lob Admin Utility Holdable cursors JDBC/MX support sample program HP extensions, JDBC 3.
See JDBC/MX Driver for NonStop SQL/MX See also JDBC API, 3.0 JDBC API, 3.
format reserving data locators setting column type setting the reserveDataLocators property table name properties locatorsUpdateCopy method for BLOB data for CLOB data M Managing tables using the JDBC/MX Lob Admin Utility maxPoolSize property maxStatements property MBCS See Multibyte character set (MBCS) data Messages Migrating applications minPoolSize property mploc property Module File Caching Benefits Known Issues Troubleshooting Multibyte character set (MBCS) data character set encodings inserting by u
Performance ResultSet processing, controlling the performance setting batch processing for prepared statements Programs, sample See Sample programs Prepared statements batch processing batch processing migration considerations PreparedStatement interface inserting a BLOB column inserting a CLOB column used in sample programs for LOB access Properties additional JDBC/MX properties DataSource object deprecated property names DriverManager class JDBC/MX driver properties jdbcmx.
summary of demos Schema, default setClob method setLogWriter method SHORTANSI names SPJs See Stored procedures SQL conformance by JDBC/MX SQL context management SQL tables sqlmx_nowait property SQLException for maxPoolSize property for updatable result set for unsupported features JDBC error messages Statement pooling controlling the performance of ResultSet processing feature description sample program Stored procedures Storing BLOB data CLOB data T Tables See also LOB table base creating Guardian locatio
using Troubleshooting connection pooling statement pooling U UCS2 character set Unicode character set Unicode data inserting by using the PreparedStatement interface LOB tables, creating reading Unicode data from a CLOB column writing by using the Clob interface updateBLOB method updateCLOB method Updating BLOB data CLOB data Utilities See JDBC/MX Lob Admin Utility See JDBC Trace Utility V Verifying installation W Writer Blob and Clob access considerations Unicode data to a Clob Writing See also Storing
Home | Contents | Index | Glossary | Prev | Next List of Examples Section Title Example Title(s) Installing and Verifying JDBC/MX Verifying the JDBC/MX Driver Working with BLOB and CLOB Data Inserting CLOB Columns by Using the Clob Interface Writing ASCII or Unicode Data to a CLOB Column Inserting CLOB Data by Using the PreparedStatement Interface Reading ASCII Data from a CLOB Column Reading Unicode Data from a CLOB Column Inserting a BLOB Column by Using the Blob Interface Writing Binary Data to a B
Home | Contents | Index | Glossary | Prev | Next List of Figures Section Title Figure Title(s) Introduction to JDBC/MX Architecture of the JDBC/MX Driver Working with BLOB and CLOB Data LOB Architecture: Tables for LOB Data Support HP JDBC Driver for SQL/MX Programmer's Reference for H50 (540388-006) © 2011 Hewlett-Packard Development Company L.P. All rights reserved.
Home | Contents | Index | Glossary | Prev List of Tables Section Title Table Title(s) About This Manual Document Sections Introduction to JDBC/MX Driver Sample Programs Summary Accessing SQL Databases with SQL/MX JDBC/MX Driver Properties Used with the DriverManager Class DataSource Object Properties JDBC/MX Driver Properties Allowed in the Command Line Connection Attributes Passed to SQL/MX Context Standard ConnectionPoolDataSource Object Properties Corresponding SQL/MX Character Sets and Java Enco
© 2011 Hewlett-Packard Development Company L.P. All rights reserved.