Navigation
Learn About
Developing With
Ingres Talk
Information
Toolbox
Views
Ingres Java Development Center/Ingres Java Learn
From Ingres Community Wiki
This page will provide you with both the latest news on the Ingres JDBC Driver as well as everything you need to learn about Java and become proficient in using it to build Ingres applications.
Contents |
Overview
The Ingres JDBC Driver is a pure Java implementation of the JDBC API - see below for Java version support. The driver supports application, applet, and servlet access to Ingres data sources through the Ingres Data Access Server (DAS). The Ingres JDBC Driver is delivered as a single Java archive file, named iijdbc.jar, located in the library directory (lib) of the Ingres instance. Depending on the Java environment used, access to the driver requires adding the Java archive to the CLASSPATH environment setting or as a resource in the appropriate utility. For browser/applet access, the Java archive must be copied to the Web Server directories.
The Ingres JDBC driver enables JDBC-enabled applications to access Ingres RDBMS, Ingres Enterprise Access and Ingres EDBC databases.
The JDBC Information Utility, JdbcInfo. This utility displays the Ingres JDBC Driver internal release information. The class files for the JdbcInfo utility are located in the library directory (lib) of the Ingres installation.
Architecture
The Ingres JDBC Driver is a type 4 driver contained in a single jar file (iijdbc.jar). Requests from the Ingres JDBC Driver are sent to the Ingres Data Access Server (DAS) which translates the requests into an Ingres internal format and forwards the request to the appropriate DBMS Server.
Specifications
Getting the driver
The JDBC driver is bundled with the base ingres package under $II_SYSTEM/ingres/lib and is called iijdbc.jar.
GA versions of the Ingres JDBC Driver can be downloaded at http://esd.ingres.com/product/drivers/JDBC/java.
Community Preview (pre-GA) versions of the Ingres JDBC Driver can be downloaded at http://esd.ingres.com/product/Community_Projects/Drivers/java.
Setup
To use the JDBC driver, simply add /path/to/iijdbc.jar to your CLASSPATH.
Ingres JDBC Driver Feature Availability
The Ingres JDBC Driver continues to move forward with Java specific features and exploitation of features added to the Ingres DBMS. This document attempts to detail what became available when.
Ingres JDBC Driver Versions
The following table provides the list of Ingres JDBC driver (iijdbc.jar) versions. Additional information about the driver can be found in the Ingres Connectivity Guide for the corresponding Ingres DBMS version.
| Driver Version | Driver Type | JDBC API Supported | Ingres DBMS Version Released With | Minimum Required JRE Version | Status |
|---|---|---|---|---|---|
| 4.0.x | Type 4* | 1.0, 2.0, 3.0, and 4.0 | Ingres 10.0/10S | JRE 1.6 | Recommended |
| 3.8.x | Type 4* | 1.0, 2.0, and 3.0 | Ingres 9.3.x | JRE 1.5 | Recommended |
| 3.4.x | Type 4* | 1.0, 2.0, and 3.0 | Ingres 2006r3 / Ingres 9.2.x | JRE 1.5 | Recommended |
| 3.2.x | Type 4* | 1.0, 2.0, and 3.0 | Ingres 2006r2 / Ingres 9.1.x | JRE 1.4 | Released |
* When used in conjunction with EDBC or Enterprise Access, the JDBC Driver is a Type 3 Driver.
GA versions of the Ingres JDBC Driver can be downloaded at http://esd.ingres.com/product/drivers/JDBC/java.
Community Preview (pre-GA) versions of the Ingres JDBC Driver can be downloaded at http://esd.ingres.com/product/Community_Projects/Drivers/java.
Features Available in Ingres JDBC 4.0.x Driver
The following feature(s) became available with the Ingres JDBC 4.0.x Driver:
| Feature | Ingres JDBC Driver Version | Requires Updated DAS, Minimum DAS Version | Requires Updated Ingres DBMS Version, Minimum DBMS Version | Status | More Information |
|---|---|---|---|---|---|
| JDBC Support of Common Table Expressions (CTEs) | 4.0.8 | No | Yes, 10S | GA, beginning with 4.0.8 | None |
| JDBC Identity Column Support as Generated Keys | 4.0.7 | No | No | GA, beginning with 4.0.7 | Project Page |
| Support Positional Parameters | 4.0.2 | Yes, 10 b122 and later | Yes, 10 b122 and later | GA, beginning with 4.0.6 | Project Page |
| Boolean Data Type Support | 4.0.1 | Yes, 10 | Yes, 10 | GA, beginning with 4.0.6 | Project Page |
| Batch Execution Support | 4.0.1 | Yes, 10 b121 and later | Yes, 10 b121 and later | GA, beginning with 4.0.6 | Project Page |
| Automatic loading of java.sql.Driver | 4.0.0 | No | No | GA, beginning with 4.0.6 | Project Page |
| National Character Set Conversion Support | 4.0.0 | No | No | GA, beginning with 4.0.6 | Project Page |
| Enhances Support for BLOB and CLOB | 4.0.0 | No | No | GA, beginning with 4.0.6 | Project Page |
| Wrapper pattern | 4.0.0 | No | No | GA, beginning with 4.0.6 | Project Page |
| New Scalar Functions | 4.0.0 | No | No | GA, beginning with 4.0.6 | Project Page |
| SQLException enhancements | 4.0.0 | No | No | GA, beginning with 4.0.6 | Project Page |
| JDBC API changes to existing JDBC interfaces | 4.0.0 | No | No | GA, beginning with 4.0.6 | Project Page |
| SQL/XML and XML support | 4.0.0 | No | No | GA, beginning with 4.0.6 | Project Page |
| Connection Management | 4.0.0 | No | No | GA, beginning with 4.0.6 | Project Page |
Features Available in Ingres JDBC 3.8.x Driver
The following feature(s) became available with the Ingres JDBC 3.8.x Driver:
| Feature | Introduced in Ingres JDBC Driver Version | Requires Updated DAS, Minimum DAS Version | Requires Updated Ingres DBMS Version, Minimum DBMS Version | Status | More Information |
|---|---|---|---|---|---|
| Ingres JDBC Config Utility | 3.8.0 | No | No | GA | Project Page |
| Multiple Data Access Server (DAS) Support | 3.8.0 | Yes, 9.3 | No | GA | Project Page |
Features Available in Ingres JDBC 3.4.x Driver
The following feature(s) became available with the Ingres JDBC 3.4.x Driver:
| Feature | Introduced in Ingres JDBC Driver Version | Requires Updated DAS, Minimum DAS Version | Requires Updated Ingres DBMS Version, Minimum DBMS Version | Status | More Information |
|---|---|---|---|---|---|
| Enhanced LOB Support with Lob Locator Support | 3.4.0 | Yes, 9.2 (2006r3) | Yes, 9.2 (2006r3) | GA | Project Page |
| Enhanced Cursor Support | 3.4.0 | Yes, 9.2 (2006r3) | Yes, 9.2 (2006r3) | GA | Project Page |
| Increased Decimal Length Support | 3.4.0 | Yes, 9.2 (2006r3) | Yes, 9.2 (2006r3) | GA | Ingres support for the DECIMAL type will change so that the maximum precision will be 39 digits instead of 31. |
| JDBC supports a replacement value for empty date values such as NULL or a specific date/time value | 3.4.0 | No | No | GA |
Features Available in Ingres JDBC 3.2.x Driver
The following feature(s) became available with the Ingres JDBC 3.2.x Driver:
| Feature | Introduced in Ingres JDBC Driver Version | Requires Updated DAS, Minimum DAS Version | Requires Updated Ingres DBMS Version, Minimum DBMS Version | Status | More Information |
|---|---|---|---|---|---|
| Change JDBC Driver default cursor mode to READONLY | 3.2 | No | No | GA | The original behavior can be selected using the URL attribute 'CURSOR=DBMS' or setting the property 'ingres.jdbc.property.cursor_mode=readonly' in the driver property file. |
| DBMS Trace mesages are now available to Data Access Server Clients. JDBC driver logs DBMS trace messages to the driver trace log. | 3.2 | No | No | GA | None |
| Support for ANSI Date/Time data types | 3.2 | Yes, 9.1 (2006r2) | Yes, 9.1 (2006r2) | GA | Project Page |
| Extend XA Support for JDBC | 3.2 | Yes, 9.1 (2006r2) | Yes, 9.1 (2006r2) | GA | Project Page |
| Ingres JDBC Parameter Meta-Data Support (Implement the DESCRIBE INPUT Command) | 3.2 | Yes, 9.1 (2006r2) | Yes, 9.1 (2006r2) | GA | Project Page |
| Add support for the explicit declaration of parameter modes (IN, INOUT, OUT) | 3.2 | Yes, 9.1 (2006r2) | Yes, 9.1 (2006r2) | GA | None |
| Improve IPv6 Support for JDBC | 3.2 | Yes, 9.1 (2006r2) | Yes, 9.1 (2006r2) | GA | Project Page |
Features Available in JDBC Driver 3.0.x
Support for the JDBC 3.0 API includes three components: an installation server (DAS), a Java client driver (iijdbc.jar), and an information utility (Jdbcinfo). For more information, see the Connectivity Guide.
With this release a new JDBC Driver was distributed, iijdbc.jar that will be the basis of future JDBC enhancements. The older edbc.jar is still provided for backward compatability but no future enhancements will be applied to the edbc.jar driver.
| Feature | More Information |
|---|---|
| Data Access Server | Project Page |
| JDBC Information Utility | The JdbcInfo utility displays the Ingres JDBC Driver internal release information. The class files for the JdbcInfo utility are located in the library directory (lib) of the Ingres installation. |
| Updatable Result Sets in JDBC | Project Page |
| Savepoints | Project Page |
| Named procedure parameters | Project Page |
| Auto-generated keys | Project Page |
| Connection Pool Configuration | Project Page |
| Boolean data type (similar to Bit) | Project Page |
Ingres JDBC Driver Bugs Resolved Availability
The Ingres JDBC Driver is updated regularly to address bugs reported via Service Desk or from the Community.
Bugs Addressed in Ingres JDBC 4.0.x Driver
The following bug(s) have been fixed with the Ingres JDBC 4.0.x Driver:
| Bug Fixed | Introduced in Ingres JDBC Driver Version | Requires Updated DAS, Minimum DAS Version | Requires Updated Ingres DBMS Version, Minimum DBMS Version | Status | More Information |
|---|---|---|---|---|---|
| SIR 125042: Support identity columns in JDBC as generated keys.
Prior to this enhancement, only generated table and object keys from tables containing a system maintained column were returned to JDBC function getGeneratedKeys(). Identity column updates are now also returned, but only under the following conditions:
[**WARNING**]: The Ingres SQL function last_identity() is used to obtain the generated identity value and it returns the last generated identity value for ANY SQL statement. Hence, the identity value returned will be incorrect if the current SQL insert statement did not automatically generate an identity value. A connection property, identity_query, has been added which permits the identity query to be enabled/disabled. There is a corresponding connection attribute: IDENTITY. The valid configuration settings are as follows: off - Identity query will not be issued and identity values won't be returned. on - Identity query will be issued if no table/object key is received and other conditions permit. The default setting is 'on', which provides the best behavior for applications which use only table/object keys or only identity columns. If only table or object keys are used, the property can be set 'off' to ensure that the identity query is never issued. The identity query can be disabled by adding the connection attribute IDENTITY=off to the connection string, or adding the property ingres.jdbc.property.identity_query=off to a driver properties file. | 4.0.7 | No | No | GA | For more detailed information, see: JDBC Identity Column Support As Generated Keys. |
| Bug 124588: Add ability to store blank date in the DBMS. [**WARNING**]: The "Date/Time Columns and Values" topic of "JDBC Implementation Considerations" section of Ingres Connectivity Guide that can be referenced at http://docs.ingres.com/ingres/10.0/connectivity-guide/1324-understanding-jdbc-connectivity discusses in detail about the JDBC Driver support for Ingres empty dates. This enhancement allows the driver to store the empty date back in the DBMS. The unavoidable side effect of this change is that when the driver is configured to return "null" alternate value for Ingres empty date indicating the driver to treat empty dates as null values, then while storing the empty date back in the DBMS the actual null value will get replaced by empty date. Hence the "null" alternate value for Ingres empty date is NOT RECOMMENDED. | 4.0.6 | No | No | GA | None |
| Bug 124712: DAS aborts client connections with SQLException: "Server aborted connection" for BigDecimal query parameter values specified in scientific notation. | 4.0.6 | No | No | GA | None |
| Bug 124716: JDBC driver does not correctly return UTF8 Clob data when accessed via a locator. | 4.0.6 | No | No | GA | None |
| Bug 124722: Change JDBC DATE_ALIAS default to ANSIDATE. | 4.0.6 | No | No | GA | None |
| SIR 124734: Provide streaming LOB data access via locators in JDBC | 4.0.6 | No | No | GA | None |
Bugs Addressed in Ingres JDBC 3.8.x Driver
The following bug(s) have been fixed with the Ingres JDBC 3.8.x Driver:
| Bug Fixed | Introduced in Ingres JDBC Driver Version | Requires Updated DAS, Minimum DAS Version | Requires Updated Ingres DBMS Version, Minimum DBMS Version | Status | More Information |
|---|---|---|---|---|---|
| Bug 124588: Add ability to store blank date in the DBMS. [**WARNING**]: The "Date/Time Columns and Values" topic of "JDBC Implementation Considerations" section of Ingres Connectivity Guide that can be referenced at http://docs.ingres.com/ingres/9.3/connectivity-guide/1324-understanding-jdbc-connectivity discusses in detail about the JDBC Driver support for Ingres empty dates. This enhancement allows the driver to store the empty date back in the DBMS. The unavoidable side effect of this change is that when the driver is configured to return "null" alternate value for Ingres empty date indicating the driver to treat empty dates as null values, then while storing the empty date back in the DBMS the actual null value will get replaced by empty date. Hence the "null" alternate value for Ingres empty date is NOT RECOMMENDED. | 3.8.3 | No | No | GA | None |
| Bug 124712: DAS aborts client connections with SQLException: "Server aborted connection" for BigDecimal query parameter values specified in scientific notation. | 3.8.3 | No | No | GA | None |
| Bug 124716: JDBC driver does not correctly return UTF8 Clob data when accessed via a locator. | 3.8.3 | No | No | GA | None |
| Bug 124722: Change JDBC DATE_ALIAS default to ANSIDATE. | 3.8.3 | No | No | GA | None |
| SIR 124734: Provide streaming LOB data access via locators in JDBC | 3.8.3 | No | No | GA | None |
| Bug 123277: Added JDBC connection property "send_ingres_dates". Default value is 'false'. A value of 'true' will notify the driver to send the date/time/timestamp values as of type INGRESDATE instead of ANSI TIMESTAMP WITH TIMEZONE datatype. | 3.8.2 | No | No | GA | None |
| Bug 123158: The Ingres JDBC driver throws java.lang.IllegalAccessError when invoking JDBC interface methods using reflection. | 3.8.2 | No | No | GA | None |
| Bug 122977: The Ingres JDBC driver throws java.lang.IllegalAccessError when a Java Spring Bean application running in Weblogic Server invokes the JDBC PreparedStatement method getWarnings(). | 3.8.1 | No | No | GA | None |
| Bug 122036: JDBC driver supports multiple host/port connection targets similar to vnodes. | 3.8.0 | Yes, 9.3 | No | GA | None |
| Bug 121965: Inserting data using setObject( byte[] ) with trailing nulls into a long byte column results in trimming of trailing nulls. | 3.8.0 | No | No | GA | None |
Bugs Addressed in Ingres JDBC 3.4.x Driver
The following bug(s) have been fixed with the Ingres JDBC 3.4.x Driver:
| Bug Fixed | Introduced in Ingres JDBC Driver Version | Requires Updated DAS, Minimum DAS Version | Requires Updated Ingres DBMS Version, Minimum DBMS Version | Status | More Information |
|---|---|---|---|---|---|
| Bug 124588: Add ability to store blank date in the DBMS. [**WARNING**]: The "Date/Time Columns and Values" topic of "JDBC Implementation Considerations" section of Ingres Connectivity Guide that can be referenced at http://docs.ingres.com/ingres/9.2/ingres-92-connectivity-guide/1324-understanding-jdbc-connectivity discusses in detail about the JDBC Driver support for Ingres empty dates. This enhancement allows the driver to store the empty date back in the DBMS. The unavoidable side effect of this change is that when the driver is configured to return "null" alternate value for Ingres empty date indicating the driver to treat empty dates as null values, then while storing the empty date back in the DBMS the actual null value will get replaced by empty date. Hence the "null" alternate value for Ingres empty date is NOT RECOMMENDED. | 3.4.11 | No | No | GA | None |
| Bug 124712: DAS aborts client connections with SQLException: "Server aborted connection" for BigDecimal query parameter values specified in scientific notation. | 3.4.11 | No | No | GA | None |
| Bug 124716: JDBC driver does not correctly return UTF8 Clob data when accessed via a locator. | 3.4.11 | No | No | GA | None |
| Bug 124722: Change JDBC DATE_ALIAS default to ANSIDATE. | 3.4.11 | No | No | GA | None |
| SIR 124734: Provide streaming LOB data access via locators in JDBC | 3.4.11 | No | No | GA | None |
| Bug 123158: The Ingres JDBC driver throws java.lang.IllegalAccessError when invoking JDBC interface methods using reflection. | 3.4.10 | No | No | GA | None |
| Bug 123277: Added JDBC connection property "send_ingres_dates". Default value is 'false'. A value of 'true' will notify the driver to send the date/time/timestamp values as of type INGRESDATE instead of ANSI TIMESTAMP WITH TIMEZONE datatype. | 3.4.10 | No | No | GA | Project Page |
| Bug 122977: The Ingres JDBC driver throws java.lang.IllegalAccessError when a Java Spring Bean application running in Weblogic Server invokes the JDBC PreparedStatement method getWarnings(). | 3.4.9 | No | No | GA | None |
| Bug 121865: JDBC Driver issues metadata queries using LIKE clause even if there are no pattern matching characters present in the input database object names. | 3.4.8 | No | No | GA | None |
| Bug 121965: Inserting data using setObject( byte[] ) with trailing nulls into a long byte column results in trimming of trailing nulls. | 3.4.8 | No | No | GA | None |
| Bug 119919: DatabaseMetaData.getColumns() returns 0 for column_length and decimal_digits fields of the ResultSet for MONEY column type. | 3.4.1 | No | No | GA | None |
| Bug 121745: Add JDBC driver configuration setting, ingres.jdbc.scroll.enabled, to enable/disable scrollable cursors. Default is enabled. | 3.4.7 | No | No | GA | None |
| Bug 121672: JDBC Driver produces DataTruncation warning when retrieving an ingresdate date-only value using ResultSet.getDate() method. | 3.4.7 | No | No | GA | None |
| Bug 121789: Cannot insert a NULL value into a long varchar column in a unicode enabled database using JDBC PreparedStatement interface method setNULL(idx,Types.CLOB). | 3.4.7 | No | No | GA | None |
| Bug 121538: Findbugs utility reports a number of issues with JDBC driver source code. | 3.4.6 | No | No | GA | None |
| Bug 121423: JDBC driver does not allow ResultSet.getBytes() to be called on character columns. This is not required by the JDBC specification, but provides compatibility with other JDBC drivers. | 3.4.5 | No | No | GA | None |
| Bug 121437: JDBC driver in heavy multi-threaded environment has a high degree of overhead handling date/time values due to synchronization on the date formatter objects. | 3.4.5 | No | No | GA | None |
| Bug 121427: JDBC driver tracing overhead is excessive due to frequent DriverManager tracing status checks. | 3.4.5 | No | No | GA | None |
| Bug 121345: JDBC driver does not include escape clause in LIKE predicate used for pattern matches in DatabaseMetaData system catalog queries. DatabaseMetaData method getSearchStringEscape() indicates that the backslash ('\') should be used to escape matching characters but is treated as a literal character rather than escaping the interpretation of the following character. | 3.4.4 | No | No | GA | None |
| Bug 117537: Other DBMSs support decimal data type precisions greater than Ingres. Ingres should support an increased decimal precision. | 3.4.3 | No | No | GA | None |
| Bug 120439: DatabaseMetaData.getTypeInfo() returns incorrect String value 'precision' for CREATE_PARAMS attribute for DOUBLE PRECISION datatype causing 'create table' statement failures using this datatype in open Office. | 3.4.2 | No | No | GA | None |
| Bug 120463: DatabaseMetaData.getTypeInfo() returns incorrect maximum length for char, varchar, byte, and varbyte datatypes. | 3.4.2 | No | No | GA | None |
| Bug 119928: Use generic term 'LOB' in error messages instead of BLOB/CLOB. | 3.4.1 | No | No | GA | None |
Bugs Addressed in Ingres JDBC 3.2.x Driver
The following bug(s) have been fixed with the Ingres JDBC 3.2.x Driver:
| Feature/Bug | Introduced in Ingres JDBC Driver Version | Requires Updated DAS, Minimum DAS Version | Requires Updated Ingres DBMS Version, Minimum DBMS Version | Status | More Information |
|---|---|---|---|---|---|
| Bug 121672: JDBC Driver produces DataTruncation warning when retrieving an ingresdate date-only value using ResultSet.getDate() method. | 3.2.5 | No | No | GA | None |
| Bug 121865: JDBC Driver issues metadata queries using LIKE clause even if there are no pattern matching characters present in the input database object names. | 3.2.5 | No | No | GA | None |
| Bug 121965: Inserting data using setObject( byte[] ) with trailing nulls into a long byte column results in trimming of trailing nulls. | 3.2.5 | No | No | GA | None |
| Bug 121423: JDBC driver does not allow ResultSet.getBytes() to be called on character columns. This is not required by the JDBC specification, but provides compatibility with other JDBC drivers. | 3.2.4 | No | No | GA | None |
| Bug 121437: JDBC driver in heavy multi-threaded environment has a high degree of overhead handling date/time values due to synchronization on the date formatter objects. | 3.2.4 | No | No | GA | None |
| Bug 121345: JDBC driver does not include escape clause in LIKE predicate used for pattern matches in DatabaseMetaData system catalog queries. DatabaseMetaData method getSearchStringEscape() indicates that the backslash ('\') should be used to escape matching characters but is treated as a literal character rather than escaping the interpretation of the following character. | 3.2.3 | No | No | GA | None |
| Bug 120439: DatabaseMetaData.getTypeInfo() returns incorrect String value 'precision' for CREATE_PARAMS attribute for DOUBLE PRECISION datatype causing 'create table' statement failures using this datatype in open Office. | 3.2.2 | No | No | GA | None |
| Bug 120463: DatabaseMetaData.getTypeInfo() returns incorrect maximum length for char, varchar, byte, and varbyte datatypes. | 3.2.2 | No | No | GA | None |
| Bug 119917: Add JDBC driver versioning for patch builds. The driver version is reported as 3.2.1 to indicate that fix for bug 119919 is included. | 3.2.1 | No | No | GA | None |
| Bug 119919: DatabaseMetaData.getColumns() returns 0 for column_length and decimal_digits fields of the ResultSet for MONEY column type. | 3.2.1 | No | No | GA | None |
| Bug 119928: Use generic term 'LOB' in error messages instead of BLOB/CLOB. | 3.2.1 | No | No | GA | None |
| Bug 111769: JDBC server aborts the client connection when an invalid Timestamp value is provided by the client. | 3.2 | No | No | GA | None |
| Bug 114211: JDBC driver returns incorrect procedure column order when using method getProcedureColumns(). | 3.2 | No | No | GA | None |
| Bug 118271: The modifier of DatabaseMetaData class of Ingres JDBC driver is made public to work with JdbcTemplate package of Spring, an opensource Java/J2EE application framework. | 3.2 | No | No | GA | None |
Known Issues and Limitations
Performance Tips
- Specify attribute CURSOR=READONLY on ALL Ingres JDBC urls.
- This will improve performance because it sets the default behavior for cursors to READONLY which enables block fetching of data wherever possible. Otherwise, the default is updatable cursors and data is generally retrieved a row at a time. This became the default with Ingres 2006r2 (9.1).
- If multiple cursors must be kept open when autocommit is on, specify attribute AUTO=MULTI on the Ingres JDBC url.
- Do not using this unless truly needed. Java/JDBC applications sometimes expect the DBMS to support multiple cursors across autocommits; Ingres does not, but the JDBC driver works around this with this attribute setting. The symptom indicating the need for this attribute is an error such as: "No MST is currently in progress, cannot declare another cursor"
On-Line Documentation
The Ingres JDBC Driver is documented in the Ingres Connectivity Guide available online at Docs. In addition, the Ingres SQL Reference Guide documents SQL Statements available with the Ingres JDBC Driver.
Articles
Articles dealing with the Ingres JDBC Driver and Integration with other technologies can be found at Articles
Examples
Example code for accessing Ingres generally can be found in Code Samples.
These examples include how to access CLOB data within Ingres, how to use table procedures, and how to call stored procedures with the various parameter types (IN, OUT, INOUT).
The following code samples demonstrate use of Java with Ingres using the Ingres JDBC Driver
Community Provided Examples
| Java Program Examples | Description |
|---|---|
| Simple Connect and SELECT Sample | This code will connect to your local demodb database and retrieve all columns from table country. |
| Simple Java Example Accessing Ingres demodb | This simple example shows how to connect to Ingres using the Ingres JDBC Driver and the Ingres demodb. |
| Manipulating SQL CLOB data with JDBC | These simple examples shows how to manipulate CLOB data using the Ingres JDBC Driver. |
| Calling Stored Procedures | These examples shows how to call an Ingres stored procedure using the Ingres JDBC Driver. |
| Collecting Ingres QEP and LockTrace Information Using JDBC | Illustrates how to get Ingres Query execution plan, lock_trace etc using Ingres SET statements from a Java application |
| Using Java Property Resource Bundles | Example of using Java property resource bundles to contain driver, URL, and other driver configuration settings outside the actual Java code. |
| Using Multiple Threads in JDBC Applications | This program connects to a database and runs a simple query in a multi-threaded context. It can be used for stress testing. |
| Ingres Java Frequent Flyer Demo | This is a demo program that uses the example of an simple airline reservation system. |
| Time Sheet Application | This is a fully functional time tracking program. |
| Cafe Frequent Flyer Application | This is a demo program that uses the example of an simple airline reservation system. |
| Using the JDBC driver with the Ingres 9.3 new feature table procedures | This program creates a row-returning procedure, references the procedure in a SELECT query, and fetches the resulting result set. |
| JBossTools Seam Example Resources | Source code and EAR module of the example application accompanying the the 'Developing Applications Using An Open Source Technology Stack' white paper. |
| JDBC Statement - general, non-parameterized statements - IngBat1.java | Ingres 10 will add full support for Batch Execution. This program is a test program to demonstrate the use of general, non-parameterized statements in JDBC batch execution. |
| JDBC PreparedStatement - prepared statement with parameter sets - IngBat2.java | Ingres 10 will add full support for Batch Execution. This program is a test program to demonstrate the use of prepared statement with parameter sets in JDBC batch execution. |
| JDBC CallableStatement - database procedure with parameter sets - IngBat3.java | Ingres 10 will add full support for Batch Execution. This program is a test program to demonstrate the use of database procedure with parameter sets in JDBC batch execution. |
| JDBC performance - IngBat0.java | Ingres 10 will add full support for Batch Execution. This program is a test program to demonstrate JDBC performance of batch execution. |
Presentations
JDBC
| Configuring an Application Server with Ingres (VIP Webinar). This webinar describes how to configure a J2EE Application Server with Ingres. | Comparing INGRES-based data-access logic | Spring with JPA Session (VIP Webinar). The Java Persistence API was introduced to simplify Java applications that use data persistence. The aim of Spring, the leading full-stack Java/JEE application framework, is to make enterprise Java easier to use and promote good programming practice. By offering comprehensive support for JPA, Spring provides a compelling programming model for modern enterprise Java. This webinar helps you to explore building enterprise applications with Spring on an Ingres database, learn about dependency injection and amaze your friends and colleagues with load-time weaving. |
| Building Web Applications using the Ingres JBoss Stack A step-by-step guide to quickly and efficiently building Web 2.0 applications using Seam 2.0 , JBoss and INGRES | Développer avec Ingres sous Debian (Developing against Ingres on Debian)
What's needed to get started (in French, en Français)
|

