Navigation
Learn About
Developing With
Ingres Talk
Information
Toolbox
Views
Ingres ODBC Development Center/Ingres ODBC Learn
From Ingres Community Wiki
This page will provide you with both the latest news on the Ingres ODBC Driver as well as everything you need to learn about ODBC and become proficient in using it to build Ingres applications.
Overview
ODBC is a specification for a standardized application programming interface (API) that defines a set of function calls, error codes and data types for developing applications that can access multiple database management systems using Structured Query Language (SQL).
ODBC permits maximum interoperability—a single application can access many different database management systems. This enables an ODBC developer to develop, compile, and deploy an application without targeting a specific type of data source. Users can add the database drivers that link the application to the database management systems of their choice.
The Ingres ODBC driver enables ODBC-enabled applications to access Ingres RDBMS, Ingres Enterprise Access and Ingres EDBC databases.
Ingres also provides a CLI interface that removes the requirement for a driver manager.
Architecture
The Ingres ODBC Driver is not a standalone driver as it requires the Ingres Net infrastructure to work.
ODBC Configuration Possibilities
ODBC Call Level Interface (CLI)
The Ingres ODBC Call-level Interface (CLI) provides access to the ODBC application environment without the need to use third-party software. It is installed when you install the Ingres ODBC Driver and is supported on all platforms on which Ingres runs with the exception of Windows.
The Ingres ODBC CLI performs the following functions:
- Optionally determines driver characteristics from ODBC configuration files
- Loads and unloads the ODBC driver into and from application memory
- Maps the driver manager API to the driver API
- Performs basic error checking
- Provides thread safety
- Provides ODBC tracing
- Provides function templates, type definitions, and constant definitions for ODBC applications
Architecture
DSN Configuration/Connection String Options
To see information regarding the various DSN Configuration options and corresponding Connection String option see ODBC DSN Configuration Table.
Specifications
- General Communications API (GCA)/General Communications Facility(GCF) API External Interface Specification
- Abstract Data Facility (ADF) Overview
- Ingres Compatability Library (CL)
ODBC Conformance
Last Updated: Apr 21, 2010
The Ingres is an ODBC 3.5 driver and uses the driver manager to provide the deprecated and old ODBC 2 functions:
- The driver conforms to all the Core Level requirements.
- The driver conforms to 101, 103, 104, 105, 106, 108 and 109 of Level 1 requirements.
- The driver conforms to 202, 203, 205, 209 and 211 of Level 2 requirements.
- The driver implements most all ODBC 3 functions. Exceptions are noted in Support for ODBC 3 Functions.
Support for ODBC 2 Core Functions
The following table lists the ODBC 2.x Core functions that are supported by the Ingres ODBC Driver.
| ODBC 2.x Core Functions | Functions Supported by the Ingres ODBC Driver |
|---|---|
| SQLAllocConnect | Yes |
| SQLAllocEnv | Yes |
| SQLAllocStmt | Yes |
| SQLBindCol | Yes |
| SQLCancel | Yes |
| SQLColAttributes | Yes |
| SQLConnect | Yes |
| SQLDescribeCol | Yes |
| SQLDisconnect | Yes |
| SQLError | Yes |
| SQLExecDirect | Yes |
| SQLExecute | Yes |
| SQLFetch | Yes |
| SQLFreeConnect | Yes |
| SQLFreeEnv | Yes |
| SQLFreeStmt | Yes |
| SQLGetCursorName | Yes |
| SQLNumResultCols | Yes |
| SQLPrepare | Yes |
| SQLRowCount | Yes |
| SQLSetCursorName | Yes |
| SQLSetParam | In ODBC 2.0, the ODBC 1.0 SQLSetparam function was replaced by SQLBindParameter. |
| SQLTransact | Yes |
Support for ODBC 2 Level 1 Functions
The following table lists the ODBC 2.x level 1 functions that are supported by the Ingres ODBC Driver
| ODBC 2.x Level 1 Functions | Functions Supported by the Ingres ODBC Driver |
|---|---|
| SQLBindParameter | Yes |
| SQLColumns | Yes |
| SQLDriverConnect | Yes |
| SQLGetConnectOption | Yes |
| SQLGetData | Yes |
| SQLGetFunctions | Yes |
| SQLGetInfo | Yes |
| SQLGetStmtOption | Yes |
| SQLGetTypeInfo | Yes |
| SQLParamData | Yes |
| SQLPutData | Yes |
| SQLSetConnectOption | Yes |
| SQLSetStmtOption | Yes |
| SQLSpecialColumns | Yes |
| SQLStatistics | Yes |
| SQLTables | Yes |
Support for ODBC 2 Level 2 Functions
The following table lists the ODBC 2.x level 2 functions that are supported by the Ingres ODBC Driver.
| ODBC 2.x Level 2 Functions Supported | Functions Supported by the Ingres ODBC Driver |
|---|---|
| SQLBrowseConnect | Yes |
| SQLColumnPrivileges | Yes |
| SQLDataSources | Yes. This function is actually supported by the ODBC Driver Manager and Ingres ODBC CLI. |
| SQLDescribeParam | Yes |
| SQLDrivers | Yes. This function is actually supported by the ODBC Driver Manager. |
| SQLExtendedFetch | Yes. Dynamic and mixed cursor types are not supported. |
| SQLForeignKeys | Yes |
| SQLMoreResults | Yes |
| SQLNativeSQL | Yes |
| SQLNumParams | Yes |
| SQLParamOptions | Yes |
| SQLPrimaryKeys | Yes, but SQL grammar conformance varies depending on the version of the Ingres database being accessed. |
| SQLProcedureColumns | Yes |
| SQLProcedures | Yes. |
| SQLSetPos | Yes. The SQL_POSITION option is supported. The SQL_UPDATE, SQL_DELETE and SQL_REFRESH options are not supported. |
| SQLSetScrollOptions | Yes, depending on version of Ingres database being accessed. |
| SQLTablePrivileges | Yes |
Support for ODBC 3.x Functions
The following table lists the ODBC 3.x functions that are supported by the Ingres ODBC Driver.
| ODBC 3.0 Functions | Functions Supported by the Ingres ODBC Driver |
|---|---|
| SQLAllocHandle | Yes |
| SQLBulkOperations | No |
| SQLCloseCursor | Yes |
| SQLColAttribute | Yes |
| SQLCopyDesc | Yes |
| SQLEndTran | Yes |
| SQLFetchScroll | Yes. Dynamic and mixed cursor types are not supported. |
| SQLFreeHandle | Yes |
| SQLGetConnectAttr | Yes |
| SQLGetDescField | Yes |
| SQLDescRec | Yes |
| SQLGetDiagField | Yes |
| SQLGetDiagRec | Yes |
| SQLGetEnvAttr | Yes |
| SQLGetStmtAttr | Yes |
| SQLRowCount | Yes. |
| SQLSetConnectAttr | Yes |
| SQLSetDescField | Yes |
| SQLSetDescRec | Yes |
| SQLSetEnvAttr | Yes |
| SQLSetStmtAttr | Yes |
Support for ODBC 2.x Connection Attributes
ODBC 2.x Connection-level Attributes
The following table lists support for ODBC 2.x connection attributes. Note that these attributes marked "yes" are supported regardless of whether the application is initialized as ODBC 2.x, ODBC 3.x, or whether called by SQLSetConnectOption(), SQLSetConnectAttr(), SQLGetConnectOption(), or SQLGetConnectAttr().
| ODBC 2.x Connection-level Attribute | Attribute Supported by the Ingres ODBC Driver |
|---|---|
| SQL_ACCESS_MODE | Yes |
| SQL_AUTOCOMMIT | Yes |
| SQL_LOGIN_TIMEOUT | No |
| SQL_OPT_TRACE | Yes |
| SQL_OPT_TRACEFILE | Yes |
| SQL_TRANSLATE_DLL | No |
| SQL_TRANSLATE_OPTION | No |
| SQL_TXN_ISOLATION | No |
| SQL_CURRENT_QUALIFIER | No |
| SQL_ODBC_CURSORS | No |
| SQL_QUIET_MODE | No |
| SQL_PACKET_SIZE | No |
ODBC 2.x Statement-level Attributes from Connect Functions
The Ingres ODBC driver allows statement-level attributes, which occur in ODBC 2.x, to be supported if the application is initialized as SQL_OV_ODBC2 (the default).
NOTE: If initialized to SQL_OV_ODBC3, the ODBC rejects attempts to set statement-level attributes in a connect function. The returned error is SQLSTATE HY092 - "Option type out of range".
The use of statement-level attributes in connection configuration functions has been deprecated in the ODBC 3.0 specification. Developers are advised to avoid setting statement-level attributes in connect configuration functions, if possible.
| ODBC 2.0 Statement-level Connection Attribute | Attribute Supported by the Ingres ODBC Driver |
|---|---|
| SQL_QUERY_TIMEOUT | Yes |
| SQL_MAX_ROWS | Yes |
| SQL_NOSCAN | Yes |
| SQL_MAX_LENGTH | No |
| SQL_ASYNC_ENABLE | No |
| SQL_BIND_TYPE | No |
| SQL_CURSOR_TYPE Dynamic and mixed cursor types are not supported | Yes |
| SQL_CONCURRENCY | Yes |
| SQL_KEYSET_SIZE | No |
| SQL_ROWSET_SIZE | Yes |
| SQL_SIMULATE_CURSOR | No |
| SQL_RETRIEVE_DATA | No |
| SQL_USE_BOOKMARKS | No |
| SQL_GET_BOOKMARK | No |
| SQL_ROW_NUMBER | No |
Support for ODBC 3.x Connection Attributes
The following table lists the ODBC 3.x connection attribute support using the Ingres ODBC Driver.
| ODBC Connection Attribute | Attribute Supported by Ingres ODBC Driver |
|---|---|
| SQL_ATTR_ACCESS_MODE | Yes |
| SQL_ATTR_ASYNC_ENABLE | No |
| SQL_ATTR_AUTO_IPD | No |
| SQL_ATTR_AUTOCOMMIT | Yes |
| SQL_ATTR_CONNECTION_DEAD | Yes |
| SQL_ATTR_CONNECTION_TIMEOUT | No |
| SQL_ATTR_CURRENT_CATALOG | Yes |
| SQL_ATTR_ENLIST_IN_DTC | Yes |
| SQL_ATTR_ENLIST_IN_XA | No |
| SQL_ATTR_LOGIN_TIMEOUT | No |
| SQL_ATTR_METADATA_ID | Yes |
| SQL_ATTR_ODBC_CURSORS | Yes, handled by the Windows ODBC Driver Manager. |
| SQL_ATTR_PACKET_SIZE | No |
| SQL_ATTR_QUIET_MODE | Yes |
| SQL_ATTR_TRACE | Yes, handled by the Windows ODBC Driver Manager. |
| SQL_ATTR_TRACEFILE | Yes, handled by the Windows ODBC Driver Manager. |
| SQL_ATTR_TRANSLATE_LIB | No |
| SQL_ATTR_TRANSLATE_DLL | No |
| SQL_ATTR_TRANSLATE_OPTION | No |
| SQL_ATTR_TXN_ISOLATION | Yes |
Support for ODBC Statement Attributes
ODBC 2.x Statement Attributes
The following table lists support for ODBC 2.x connection attributes. Note that these attributes marked "yes" are supported regardless of whether the application is initialized as SQL_OV_ODBC2, SQL_OV_ODBC3, or whether called by SQLSetStmtOption(), SQLSetStmtAttr(), SQLGetStmtOption(), or SQLGetStmtAttr().
The following tabe lists the ODBC 2.x statement attribute support using the Ingres ODBC Driver.
| ODBC Statement Attribute | ODBC Version | Attribute Supported by the Ingres ODBC Driver |
|---|---|---|
| SQL_QUERY_TIMEOUT | Yes | |
| SQL_MAX_ROWS | Yes | |
| SQL_NOSCAN | Yes | |
| SQL_MAX_LENGTH | No | |
| SQL_ASYNC_ENABLE | No | |
| SQL_BIND_TYPE | No | |
| SQL_CURSOR_TYPE Dynamic and mixed cursor types are not supported | Yes | |
| SQL_CONCURRENCY | Yes | |
| SQL_KEYSET_SIZE | No | |
| SQL_ROWSET_SIZE | Yes | |
| SQL_SIMULATE_CURSOR | No | |
| SQL_RETRIEVE_DATA | No | |
| SQL_USE_BOOKMARKS | No | |
| SQL_GET_BOOKMARK | No | |
| SQL_ROW_NUMBER | No |
ODBC 3.x Statement Attributes
The following table lists the ODBC 3.x statement attribute support using the Ingres ODBC Driver.
| ODBC Statement Attribute | Attribute Supported by the Ingres ODBC Driver |
|---|---|
| SQL_ATTR_APP_PARAM_DESC | Yes |
| SQL_ATTR_APP_ROW_DESC | Yes |
| SQL_ATTR_ASYNC_ENABLE | No |
| SQL_ATTR_CONCURRENCY | Yes |
| SQL_ATTR_CURSOR_SCROLLABLE | Yes |
| SQL_ATTR_CURSOR_SENSITIVITY | Yes |
| SQL_ATTR_CURSOR_TYPE | Yes. Dynamic and mixed cursor types not supported |
| SQL_ATTR_ENABLE_AUTO_IPD | No |
| SQL_ATTR_FETCH_BOOKMARK_PTR | No |
| SQL_ATTR_IMP_PARAM_DESC | Yes, handled by the Windows ODBC Driver Manager. |
| SQL_ATTR_IMP_ROW_DESC | Yes, handled by Windows ODBC Driver Manager. |
| SQL_ATTR_KEYSET_SIZE | No |
| SQL_ATTR_MAX_LENGTH | No |
| SQL_ATTR_MAX_ROWS | No |
| SQL_ATTR_METADATA_ID | Yes |
| SQL_ATTR_NOSCAN | Yes |
| SQL_ATTR_PARAM_BIND_OFFSET_PTR | Yes |
| SQL_ATTR_PARAM_BIND_TYPE | Yes |
| SQL_ATTR_PARAM_OPERATION_PTR | Yes |
| SQL_ATTR_PARAM_STATUS_PTR | Yes |
| SQL_ATTR_PARAMS_PROCESSED_PTR | Yes |
| SQL_ATTR_PARAMSET_SIZE | Yes |
| SQL_ATTR_QUERY_TIMEOUT | Yes |
| SQL_ATTR_RETRIEVE_DATA | No |
| SQL_ATTR_ROW_ARRAY_SIZE | Yes |
| SQL_ATTR_ROW_BIND_OFFSET_PTR | Yes |
| SQL_ATTR_ROW_BIND_TYPE | Yes |
| SQL_ATTR_ROW_NUMBER | No |
| SQL_ATTR_ROW_OPERATION_PTR | No |
| SQL_ATTR_ROW_STATUS_PTR | Yes |
| SQL_ATTR_ROWS_FETCHED_PTR | Yes |
| SQL_ATTR_SIMULATE_CURSOR | No |
| SQL_ATTR_USE_BOOKMARKS | No |
Scalar Functions
The ODBC supports scalar functions with this general escape sequence syntax:
{ fn scalar-function }
For example:
SELECT {fn UCASE(CustomerName)} FROM CustomerTable
String Scalar Functions
The Ingres ODBC Driver supports the following string scalar functions:
- BIT_LENGTH
- CHAR_LENGTH
- CHAR
- CHARACTER_LENGTH
- CONCAT
- LENGTH
- LOCATE
- LTRIM
- LCASE
- POSITION
- RTRIM
- UCASE
Numeric Scalar Functions
The Ingres ODBC Driver supports the following numeric scalar functions:
- ABS
- ACOS
- ASIN
- ATAN
- ATAN2
- CEILING
- COS
- EXP
- FLOOR
- LOG
- MOD
- PI
- POWER
- RAND
- ROUND
- SIGN
- SIN
- SQRT
- TAN
- TRUNCATE
Time, Date and Interval Scalar Functions
The Ingres ODBC Driver supports the following time, date and interval scalar functions:
- CURTIME
- CURDATE
- CURRENT_DATE
- CURRENT_TIME
- CURRENT_TIMESTAMP
- NOW
- DAYNAME
- DAYOFMONTH
- DAYOFWEEK
- DAYOFYEAR
- HOUR
- MINUTE
- MONTH
- MONTHNAME
- QUARTER
- SECOND
- TIMESTAMPDIFF
- EXTRACT
System Scalar Functions
The Ingres ODBC Driver supports the following system scalar functions:
- IFNULL
- USER
- DATABASE
Explicit Data Type Conversion
The Ingres ODBC Driver supports explicit data type conversion via the CONVERT scalar as follows:
{ fn CONVERT(value_exp, data_type) }
ODBC Data Type Support
The Ingres ODBC Driver supports the following data types:
| Ingres Data Type | Minimum DBMS Server Level | ODBC C Data Type | Default SQL Data Type |
|---|---|---|---|
| BOOLEAN | Ingres 10.0 (Not supported in EA or EDBC) | SQL_C_BIT | SQL_BIT |
| INTEGER1 (Integer1) | Any | SQL_C_TINYINT | SQL_TINYINT |
| LONG BYTE | Any (Not supported in Vectorwise) | SQL_C_LONGVARBINARY | SQL_LONGVARBINARY |
| BYTE VARYING | Any | SQL_C_VARBINARY | SQL_VARBINARY |
| BYTE | Any | SQL_C_BINARY | SQL_BINARY |
| LONG VARCHAR | Any (Not supported in Vectorwise) | SQL_C_VARCHAR | SQL_VARCHAR |
| LONG NVARCHAR | Any (Not supported in Vectorwise) | SQL_C_WLONGVARCHAR | SQL_WLONGVARCHAR |
| CHAR | Any | SQL_C_CHAR | SQL_CHAR |
| NCHAR | Any | SQL_C_WCHAR | SQL_WCHAR |
| DECIMAL | Any (Not supported in EDBC, EA or Vectorwise) | SQL_C_NUMERIC | SQL_NUMERIC, SQL_DECIMAL |
| INTEGER (Integer4) | Any | SQL_C_LONG | SQL_INTEGER |
| BIGINT (Integer8) | Any (Not supported in EDBC or EA) | SQL_C_BIGIINT | SQL_BIGINT |
| SMALLINT (Integer2) | Any | SQL_C_SMALLINT | SQL_SMALLINT |
| FLOAT | Any | SQL_C_FLOAT, SQL_C_DOUBLE | SQL_FLOAT, SQL_DOUBLE |
| REAL | Any | SQL_C_REAL | SQL_REAL |
| ANSIDATE | Ingres 9.1 and later (Not supported in EA or EDBC) | SQL_C_TYPE_DATE | SQL_TYPE_DATE |
| INGRESDATE (Supported as DATE in EA, EDBC and pre-Ingres 9.1 servers) | Any (Not supported in Vectorwise) | SQL_C_TYPE_TIMESTAMP | SQL_TYPE_TIMESTAMP |
| TIMESTAMP | Ingres 9.1 and later (Not supported in EA - limited support in EDBC) | SQL_C_TYPE_TIMESTAMP | SQL_TYPE_TIMESTAMP |
| TIME | Ingres 9.1 and later (Not supported in EA or EDBC) | SQL_C_TYPE_TIME | SQL_TYPE_TIME |
| INTERVAL YEAR TO MONTH | Ingres 9.1 and later (Not supported in EA or EDBC) | SQL_C_INTERVAL_YEAR_TO_MONTH | SQL_INTERVAL_YEAR_TO_MONTH |
| INTERVAL DAY TO SECOND | Ingres 9.1 and later (Not supported in EA or EDBC) | SQL_C_INTERVAL_DAY_TO_SECOND | SQL_DAY_TO_SECOND |
| VARCHAR | Any | SQL_C_VARCHAR | SQL_VARCHAR |
| NVARCHAR | Any | SQL_C_WVARCHAR | SQL_WVARCHAR |
Support for Batch Queries
The Ingres ODBC Driver supports column-wise or row-wise binding of parameter arrays that can be used as input to SQLBindParameter() and executed as a single input, delete or update statement.
As noted above, the ODBC does not currently support updates of scrollable results, including SQLBulkOperations() and the SQL_DELETE and SQL_UPDATE options of SQLSetPos().
The Ingres ODBC Driver does not currently support explicit batches, defined as sets of statements separated by semicolons that are executed with one call to SQLExecDirect(). Applications may invoke multiple statements in a database procedure that may be invoked by SQLExecDirect(). Thus, the result of calls to SQLGetInfo() with attributes of SQL_BATCH_SUPPORT, SQL_PARAM_ARRAY_ROW_COUNTS, and SQL_PARAM_ARRAY_SELECTS indicates that these items are currently unsupported.
Ingres ODBC Driver Feature Availability
The Ingres ODBC continues to move forward with ODBC specific features and exploitation of features added to the Ingres DBMS. This document attempts to detail what became available when.
Features Available in Ingres ODBC Driver 3.50.1000.xxxx
The following feature(s) became available with the Ingres ODBC Driver 3.50.1000.xxxx. This section discusses features of the Ingres 10 ODBC driver. These features will are available in the GA Ingres 10 ODBC Driver.
| Feature | Ingres ODBC Driver Version | Requires Updated Ingres DBMS Version, Minimum DBMS Version | Status | More Information |
|---|---|---|---|---|
| ODBC Driver Batch Execution - Execution of a single query with arrays of parameters | 3.50.1000.132 | Yes, 10.0 | Targeted for 10.1 GA, also available as a patch for 10.0.0 | Project Page |
| Support Positional Parameters | 3.50.1000.118 | Yes, 10 b122 and later | Available, 10 b123 | Project Page, Note the version number was modified to support Ingres Service Pack references in the driver version number. |
| Enhance ODBC Driver Naming to better support multiple Ingres installations on one machine | 3.50.1000.118 | No | Available, 10 b123 | Enhance ODBC Driver Naming to better support multiple Ingres installations on one machine |
| 64 bit ODBC Driver | TBD | Yes, 10 64 bit Windows Port | Available, Ingres 10 | Project Page |
| Long Identifiers | 3.50.100.116 | Yes, 10 b 122 | Available | Project Page |
| Boolean Data Type Support | 3.50.100.115 | Yes, 10 b 119 | Available | Project Page |
Features Available in Ingres ODBC Driver 3.50.930.0112
The following feature(s) became available with the Ingres ODBC Driver 3.50.930.0110. This driver was released with the Ingres 9.3.1 GA Release.
| Feature | Ingres ODBC Driver Version | Requires Updated Ingres DBMS Version, Minimum DBMS Version | Status | More Information |
|---|---|---|---|---|
| ODBC Driver Chatter Reduction | 3.50.930.0110 | No | GA | Project Page |
Features Available in Ingres ODBC Driver 3.50.930.0099
The following feature(s) became available with the Ingres ODBC Driver 3.50.930.0099. This driver was released with the Ingres 9.3.0 GA Release.
| Feature | Ingres ODBC Driver Version | Requires Updated Ingres DBMS Version, Minimum DBMS Version | Status | More Information |
|---|---|---|---|---|
| ODBC 3.x function: SQLFetchScroll() - Updated to support additional fetch options for scrollable cursors | 3.50.930.0099 | Yes, 9.2 (2006r3) | GA | ODBC Scrollable Cursor Project Page, DBMS Project Page |
| ODBC 3.x function: SQLSetPos() | 3.50.930.0099 | Yes, 9.2 (2006r3) | GA | ODBC Scrollable Cursor Project Page, DBMS Project Page |
| ODBC 3.x function: SQLGetInfo() - Updated attributes for scrollable cursor support | 3.50.930.0099 | Yes, 9.2 (2006r3) | GA | ODBC Scrollable Cursor Project Page, DBMS Project Page |
| ODBC 3.x function: SQLGetInfo() - Updated attributes for scrollable cursor support | 3.50.930.0099 | Yes, 9.2 (2006r3) | GA | ODBC Scrollable Cursor Project Page, DBMS Project Page |
| ODBC 3.x function: SQLSetStmtAttr() and SQLGetStmtAttr()- Updated attributes for scrollable cursor support | 3.50.930.0099 | Yes, 9.2 (2006r3) | GA | ODBC Scrollable Cursor Project Page, DBMS Project Page |
Features Available in Ingres ODBC Driver 3.50.920.0090
The following feature(s) became available with the Ingres ODBC Driver 3.50.920.0090. This driver was released with the Ingres 9.2.0 GA Release.
| Feature | Ingres ODBC Driver Version | Requires Updated Ingres DBMS Version, Minimum DBMS Version | Status | More Information |
|---|---|---|---|---|
| Connection Pooling in ODBC CLI (UNIX and VMS) | 3.50.920.0090 | No | GA | Project Page |
| Increased Decimal Length Support | 3.50.920.0090 | 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. |
Features Available in Ingres ODBC Driver 3.50.0067 (equivalent to 3.50.910.0067)
The following feature(s) became available with the Ingres ODBC Driver 3.50.0067. This driver was released with the Ingres 9.1.0 GA Release.
| Feature | Ingres ODBC Driver Version | Requires Updated Ingres DBMS Version, Minimum DBMS Version | Status | More Information |
|---|---|---|---|---|
| Implement the DESCRIBE INPUT Command | 3.50.0067 | Yes, 9.1 (2006r2) | GA | Project Page |
| Support for ANSI Date/Time data types | 3.50.0067 | Yes, 9.1 (2006r2) | GA | DBMS Project Page, ODBC Driver Project Page |
| ODBC 3.x function: SQLBrowseConnect() | 3.50.0067 | Yes, 9.1 (2006r2) | GA | Project Page |
| ODBC 3.x function: SQLGetInfo() Enhancements | 3.50.0067 | Yes, 9.1 (2006r2) | GA | Project Page |
| ODBC 3.x function: SQLGetTypeInfo() Enhancements | 3.50.0067 | Yes, 9.1 (2006r2) | GA | Project Page |
| ODBC 3.x function: SQLDescribeParam() | 3.50.0067 | Yes, 9.1 (2006r2) | GA | Project Page |
| ODBC 3.x function: SQLColumnPrivileges() | 3.50.0067 | Yes, 9.1 (2006r2) | GA | Project Page Note: Not supported on gateways except RMS. |
| ODBC 3.x function: SQLTablePrivileges() | 3.50.0067 | Yes, 9.1 (2006r2) | GA | Project Page Note: Not supported on gateways except IMS, VSAM, and RMS. |
| ODBC 3.x function: CONVERT | 3.50.0067 | Yes, 9.1 (2006r2) | GA | Project Page |
| ODBC 3.x function: INTERVAL scalar | 3.50.0067 | Yes, 9.1 (2006r2) | GA | Project Page |
Getting the ODBC Driver
The Ingres ODBC Driver requires the Ingres Net infrastructure as it is not a standalone driver. Due to this requirement, the ODBC driver is not separately downloadable but is included in the Ingres release, downloadable from http://esd.ingres.com.
To install the Ingres ODBC Driver use the following steps:
- Download the Ingres release from http://esd.ingres.com
- Select the "Traditional Ingres System" Configuration Type
- Select Advanced Installation Mode
- Select Instance Name
- Select Typical Client for the Component Selection
This will install the Ingres Client package which contains the ODBC Driver as well as the Ingres documentation and the Ingres .NET Data Provider.
If you do not wish to install either the Ingres documentation or the Ingres .NET Data Provider, use the following steps:
- Download the Ingres release from http://esd.ingres.com
- Select the "Traditional Ingres System" Configuration Type
- Select Advanced Installation Mode
- Select Instance Name
- Select Custom for the Component Selection
- Select only the Ingres Client Package from the Component List
This will install the Ingres Client package which contains the ODBC Driver.
For a step by step installation, refer to Install Ingres Client on Windows Workshop.
For information relating to configuring 32-bit ODBC on 64-bit Windows, see ]]
On-Line Documentation
The Ingres ODBC 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 ODBC Driver.
Articles
Articles dealing with the Ingres ODBC Driver and Integration with other technologies can be found at Articles
Examples
Example code for accessing Ingres generally can be found in Code Samples.
The following code samples demonstrate use of the Ingres ODBC Driver
Community Provided Examples
| ODBC Program Examples | Description |
|---|---|
| Insert and Fetch of Blobs Using ODBC | Create a table containing a long varchar. Read an ASCII file and insert contents into the table. Fetch and display the result. |
| Simple Select Using ODBC | Select a column from the iitables catalog and display the result. |
| Getting Metadata Information about the ODBC Driver | Use SQLGetInfo() and SQLGetTypeInfo() to show information about the ODBC driver and supported data types. |
| Testing ODBC Decimal Precision | Tests limits of Ingres decimals using supplied decimal string test data. |
| Report DB Procedure Parameters using ODBC | Demonstrates SQLProcedureColumns() to report on the parameters of database procedures |
| Test SQLExtendedFetch Function | Support was recently added for the ODBC function SQLExtendedFetch(). Although SQLExtendedFetch() has been deprecated by SQLFetchScroll(), some ODBC applications rely on SQLExtendedFetch(). |
| Test KeySet Cursors in ODBC | Ingres 9.2 added support for scrollable cursors other than forward. The ODBC Driver will add support for this feature beginning with Ingres 9.3. Here is a sample test program to test keyset cursors in the Ingres 9.3 ODBC Driver. |
| Test Scrollable Static Cursors in ODBC | Ingres 9.2 added support for scrollable cursors other than forward. The ODBC Driver will add support for this feature beginning with Ingres 9.3. Here is a sample test program to test scrollable static cursors in the Ingres 9.3 ODBC Driver. |
| Test Result Set Metatdata with SQLColAttribute | Tests use of SQLColAttribute() to return characteristics of a result set. |
| ODBC Connection Pooling | Demonstrates programming of ODBC connection pooling. This applies to Windows, unixODBC and the Ingres ODBC CLI for Ingres 9.2 (Ingres 2006 r3) and later. |
| Test ODBC Booleans | Demonstrates support for the new Ingres 10 boolean data type as SQL_C_BIT and SQL_BIT. |
Presentations
Here are links to webinars that have been previously given. You can download the presentations and webinar replays. Note that replaying any of the webinars requires that you first install the WebEx ARF media player. Of course, you need Adobe Acrobat Reader for PDF files and InfoZip is a nice open source utility for handling ZIP files.


