====================================== RELEASE NOTES FOR INTERSOLV DataDirect ODBC Driver 3.11 SP2 PRODUCT RELEASE DATE: 13 May 1999 ====================================== TABLE OF CONTENTS I. What's New in Version 3.11 SP2 II. System Requirements III. Supported Informix Database Servers IV. Files Installed V. Migrating VI. Driver Options VII. Microsoft Access and Visual Basic Users (Windows-only) VIII. Notes and Known Problems IX. Fixed Problems =============================== I. What's New in Version 3.11 Version Numbers --------------- * The new version on UNIX and NT is 3.11 * Supports TIMESTAMPADD and TIMESTAMPDIFF scalar functions for interval types SQL_TSI_DAY and SQL_TSI_MONTH. New Features ------------ * INTERSOLV DataDirect ODBC Driver provides support for a new connection option, TrimBlankFromIndexName (TBFIN), to allow applications to specify whether leading spaces should be trimmed from index names. This option is provided to address problems with applications that cannot process spaces in index names. Values are 0 (no trim, the default) and 1 (trim). This option has been added to the Advanced tab of the setup dialog. * INTERSOLV DataDirect ODBC Driver provides the following DLL: ivinf913.dll, which supports ODBC 3.5 core components and the Informix extended data types: Smart large objects, Distinct, BOOLEAN, INT8, SERIAL8, and LVARCHAR. * INTERSOLV DataDirect ODBC no longer provides the JDBC-ODBC bridge. You can buy a JDBC-ODBC bridge from a JDK vendor. Additional Documentation ------------------------ You may want to look at some of the documentation notes for manuals that are distributed with your Informix database server. These notes include information about the following products and features which might affect your client application: * DataBlade API * Error messages * GLS functionality * SQL To see these documentation notes, look in one of the following database server directories. If you need information about these directories, contact your DBA. Platform Directory for Documentation Notes -------- --------------------------------- UNIX INFORMIXDIR/release/en_us/0333 Windows INFORMIXDIR\release\en_us\04e4 =============================== II. System Requirements Windows ------- Disk space: 15 megabytes on the disk drive where Windows 95/98/NT is installed. Memory: Windows 95: 16 megabytes (minimum) Windows 98: 16 megabytes (minimum) Windows NT: 24 megabytes (minimum) UNIX ---- Disk space: 25 megabytes on the disk drive where UNIX is installed. Memory: 16 megabytes (minimum) Remote Informix Databases Accessed from Windows ----------------------------------------------- To access remote Informix databases, you need to install INFORMIX-Connect. INTERSOLV DataDirect ODBC Driver for Windows does not work with versions of INFORMIX-Connect earlier than Client SDK 2.0. Use the SETNET32.EXE utility supplied with INFORMIX-Connect to define database servers and the location of the INFORMIX directory. Use ILOGIN.EXE to test your connection to the Informix database server. The INFORMIX-Connect package includes ISQLT09A.DLL. The path to this DLL must be in your PATH environment variable. If it is not and you attempt to configure a data source, a message similar to the following one appears: The setup routines for the INTERSOLV 3.11 32-BIT ODBC driver could not be loaded due to system error code 126. When you click OK, the following message appears: Could not load the setup or translator library. Remote Informix Databases Accessed from UNIX -------------------------------------------- Set the INFORMIXDIR environment variable to the directory where you installed your client application. Set the INFORMIXSERVER environment variable to the name of the Informix database server as defined in sqlhosts. =============================== III. Supported Informix Database Servers ivinf913.dll support the following Informix database servers via INFORMIX-Connect 9.13: 7.x 9.x =============================== IV. Files Installed The following INTERSOLV DataDirect ODBC Driver files are installed, along with the INFORMIX-CLI 2.8 and the other client product files: Files Installed on UNIX ----------------------- "xx" is "so" on Solaris, "sl" on HP-UX, or "a" on AIX. In the Intersolv directory: Driver Driver Manager Installer Libraries License file In INFORMIXDIR/help: Help text for the Informix SQLDriverConnect dialog In INFORMIXDIR/headers: Header files In INFORMIXDIR/locale/en_US/LC_MESSAGES: GLS message files In /messages/default: ODBC driver manager message file Files Installed on Windows -------------------------- In your system directory (by default, the Windows SYSTEM32 directory for Windows NT or SYSTEM for Windows 95 and Windows 98): Visual C and Microsoft ODBC libraries In your system directory for a custom install for which you selected the ODBC Driver Manager: Microsoft ODBC Driver Manager files In the Informix translation directory: Translation library In your driver directory (by default, the Windows SYSTEM32 directory for Windows NT or SYSTEM for Windows 95 and Windows 98): INTERSOLV drivers INTERSOLV help files INTERSOLV libraries In the Informix headers directory: Header files =============================== V. Migrating Migrating from 3.02/3.10 to 3.11 -------------------------------- The Informix installation procedure does not remove the old version when it installs the new version. Therefore, you can continue to use the old version without making any changes to your DSNs or applications. To use the new version, you must update the driver reference for each DSN. Migrating from 3.02 to 3.11 on UNIX ----------------------------------- Your DSN configuration should be in the .odbc.ini file or in your application code. Find the DSN configuration and change the Driver value to ivinf913.dll. Migrating from 3.10 to 3.11 on Windows -------------------------------------- * If your DSN configuration is in the registry, use regedit to change the following values: - Change the "driver" value of the following key: HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"dsn_name" From: WINSYSDIR \IVIF7912.DLL To: WINSYSDIR \IVINF913.DLL Where WINSYSDIR is \WINNT\System 32 on Windows NT and \WINDOWS\System on Windows 95 and Windows 98. - Change the "dsn_name" value of the following key: HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources From: INTERSOLV 3.10 32-BIT INFORMIX To: INTERSOLV 3.11 32-BIT INFORMIX or INTERSOLV 3.11 32-BIT INFORMIX 9 * If your DSN configuration is in your application code, change the Driver value to ivinf913.dll. Migrating from 2.x to 3.11 -------------------------- The TranslationDLL connection string option has been changed to TranslationSharedLibrary. The ODBC_INI enviroment variable has been replaced by the ODBCINI environment variable. If you are using an existing 2.5 DSN you must modify the library or dll name in either the registry or in the odbc.ini file. The name must be changed from ivinif12.xx to ivif7912.xx. Migrating from 2.x to 3.11 on HP-UX (UNIX) ------------------------------------------ For HP-UX 10.20 (aCC++), the ODBC driver manager has been rebuilt using the HP aC++ compiler. Because aC++ libraries are not backwardly compatible with cfront-compiled libraries, C++ applications are required to recompile their main with the HP aC++ compiler, C applications are required to re-link the application with the HP aC++ linker. An error such as the following is a symptom of not following these steps: /usr/dld.sl: Unresolved Symbol: __shlimit from /opt/odbclibodbc.sl Migrating from 2.x to 3.11 on Solaris (UNIX) -------------------------------------------- For Solaris, the ODBC Driver Manager is not linked with libnsl.so. Most ODBC drivers require that this library be initialized before the drivers are invoked. To insure maximum ODBC compatibility, applications should link to libnsl.so. =============================== VI. Driver Options The driver has non-standard options that let you take advantage of packaged ODBC-enabled applications requiring non-standard or extended behavior. To use these options, we recommend that you create a separate data source for each application. On UNIX, use a text editor to open the .odbc.ini file. In the section for the data source you created, add the WorkArounds key with a value of n (e.g., WorkArounds=n). The value n is the cumulative value of all options added together. In the Windows environment, use the registry editor (regedit on Windows 95, Windows 98, or Windows NT 4.0, or regedt32 on Windows NT 3.5x), to open the ODBC.INI section in the registry. In the section for the data source you created, add the key WorkArounds with a value of n (e.g., WorkArounds=n). The value n is the cumulative value of all options added together. Key and Value Description ------------- ----------- WorkArounds=1 If an ODBC driver reports that its SQL_CURSOR_COMMIT_BEHAVIOR or SQL_CURSOR_ROLLBACK_BEHAVIOR is 0, then return 1 instead and force statements to be prepared again by the driver. WorkArounds=2 Some applications cannot handle database qualifiers. If this option is on, the driver reports that qualifiers are not supported. WorkArounds=4 Some applications require two connections to an Informix database. Since Informix databases support only one connection, the second connection attempt fails. Turning this option on causes the driver to detect this condition and have the two ODBC connections share a single physical connection to the database. WorkArounds=8 If the driver cannot deduce the number of rows affected by an INSERT, UPDATE, or DELETE, it may return -1 in SQLRowCount. Some applications may not be able handle this. Turning this option on causes the driver to return 1 instead. WorkArounds=16 For SQLStatistics, if the driver reports an INDEX_QUALIFIER that contains a period, some applications raise a "tablename is not a valid name" error. Turning this option on causes the driver to return no INDEX_QUALIFIER. WorkArounds=64 This option results in a column name of Cwhere is the ordinal position in the result set. For example, "SELECT col1, col2+col3 FROM table1" produces the column names "col1" and C2. SQLColAttributes/SQL_COLUMN_NAME returns for result columns that are expressions. Use this option for applications that cannot handle column names. WorkArounds=256 Forces SQLGetInfo/SQL_ACTIVE_CONNECTIONS to be returned as 1. WorkArounds=512 To prevent ROWID results, this option forces the SQLSpecialColumns function to return a unique index as returned from SQLStatistics. WorkArounds=65536 This option strips trailing zeros from decimal results. WorkArounds=131072 This option turns all occurrences of the double quote character ("") into the grave character (`). Some applications always quote identifiers with double quotes. Double quoting causes problems for data sources that do not return SQLGetInfo/SQL_IDENTIFIER_QUOTE_CHAR = . WorkArounds=1048576 Some applications incorrectly specify a precision of 0 for character types when the value will be SQL_NULL_DATA. This option overrides the specified precision and sets the precision to 256. WorkArounds=2097152 Some applications incorrectly specify a precision of -1 for character types. This option overrides the specified precision and sets the precision to 2000. WorkArounds=4194304 For PowerBuilder users, this option converts all catalog function arguments to upper case unless they are quoted. WorkArounds=536870912 This option allows for re-binding parameters after calling SQLExecute for prepared statements. WorkArounds2=2 Some applications incorrectly specify the ColumnSize/ DecimalDigits when binding timestamp parameters. This workaround causes the driver to ignore the ColumnSize/DecimalDigits specified by the application and use the database defaults instead. =============================== VII. Microsoft Access and Visual Basic Users (Windows-only) We recommend that users of Microsoft Access and Visual Basic add the value pair WorkArounds=25 (1+8+16) for each data source they use with Access and Visual Basic. For data sources that support a single connection, add the line WorkArounds=29 (1+4+8+16). =============================== VIII. Notes and Known Problems PTS Description ------------------------ 106467 ODBC CONNECTION FROM VISUAL BASIC APPLICATION USING RDO WITH CURSORDRIVER = RDUSECLIENTBATCH RESULTS IN TEXT/BYTE COLUMNSIZE REPORTED AS 0 102913 MICROSOFTS INTERDEV HAS PROBLEMS INSERTING WITH INTERSOLV ODBC DRIVER 94335 SQLDESCRIBECOL RETURNS SQL_NULLABLE_UNKNOWN FOR ALL COLUMN TYPES SQLColAttribute(s) ------------------ The column attributes 1001 and 1002, which were assigned as INTERSOLV specific attributes, were inadvertently used as system attributes by the Microsoft 3.0 ODBC implementation. Applications using those attributes should now use 1901 and 1902 respectively. SQL_C_NUMERIC ------------- Because of inconsistencies in the ODBC specification, users attempting to use SQL_C_NUMERIC parameters should set the precision and scale values of the corresponding structure, and the descriptor fields in the APD. Error Messages ------------------ Restriction: Some INFORMIX error messages may contain more than one error. It is unclear whether all errors displayed will be valid. Additional Notes and Known Problems on UNIX ------------------------------------------- ODBC Driver Manager (UNIX-only) ------------------------------- If you want to use a driver manager, the driver requires the 3.0 version of the ODBC Driver Manager (libodbc.xx). You can buy the Driver Manager from a third party vendor who develops ODBC Driver Manager for the required UNIX platform. ODBC Driver Manager On Solaris (UNIX-only) ------------------------------------------ For Solaris, the ODBC Driver Manager is not linked with libnsl.so. Most ODBC drivers require that this library be initialized before the drivers are invoked. To insure maximum ODBC compatibility, applications should link to libnsl.so. SQLDriverConnect (UNIX-only) ---------------------------- SQLDriverConnect using options other than SQL_DRIVER_NOPROMPT is supported only on systems that include the Motif library. Additional Notes and Known Problems on Windows ---------------------------------------------- ODBC Driver Manager (Windows-only) ---------------------------------- ODBC 3.x drivers require the 3.0 or 3.5 version of the ODBC Driver Manager (ODBC32.DLL and ODBCCP32.DLL). The INFORMIX-Client Software Developer's Kit provides Microsoft ODBC Driver Manager 3.5. Because the ODBC 3.0 Driver Manager is compatible with 2.x compliant drivers, all 2.x versions of the Driver Manager should be removed from your access path to ensure application stability. Failing to remove older versions of the Driver Manager may result in application errors and abnormal terminations. ODBC Driver Manager Bugs (Windows-only) --------------------------------------- Please review the release notes file included with the Client SDK for all known ODBC Driver Manager bugs. In addition to the bug list included in the RELNOTES.WRI file, the following problem exists: Calling SQLRowCount after receiving a SQL_NO_DATA return from an executed statement results in a HY010 Function Sequence Error. This error should not occur. Microsoft Query and INTERVAL (Windows-only) ------------------------------------------- Attempting to use Microsoft Query '95 with the Informix driver will result in a protection fault from Query. This is because Query does not recognize the INTERVAL data types supplied by the driver. Users will need to obtain Microsoft Query '97 to obtain the fix. IX. Fixed Problems PTS Description ------------------------ 106577 DOING INSERT OF AN INTEGER INTO A SERIAL COLUMN USING SQLBINDPARAMETER() AND SQLEXECDIRECT() WITH PARAMETERIZED SQL FAILS WITH SQLSTATE OF S1C00. 110683 SOME STRING LITERALS USED IN CONJUNCTION WITH A TEXT WHICH SHOULD GENERATE A SYNTAX ERROR INSTEAD UPDATE EVERY ROW IN THE TABLE 110691 A TEXT COLUMN INSERT OR UPDATE WHERE A STRING LITERAL IS USED AND THAT LITERAL ONLY CONTAINS HEXADECIMAL DIGITS RESULTS GARBAGE VALUES IN THE DB 109120 %S ERROR RETURNED INSTEAD OF A USER DEFINED -746 ERROR MESSAGE 99449 GPF IN SQLEXECDIRECT, AFTER SQLBINDPARAMETER, WHEN THE INSERT STATEMENT INCLUDES A SELECT STATEMENT WITH PARAMETER MARKER IN THE FILTER 89991 INTERSOLV 3.01 DRIVER REPORTS A 908 ERROR WHEN ATTEMPTING CONNECTIONS ACROSS THREADS 98176 INTERSOLVE DRIVER (3.01.0005) IS NOT PRESERVING QUOTES THAT SURROUND A TABLE NAME IN AN OUTER JOIN CLAUSE CAUSING A 206 ERROR WITH ANSI DATABASES 94861 DATETIME COLUMNS MONTH TO DAY ARE PADDED WITH YEAR VALUE 1111 BY DRIVER. THIS CAUSES A DATETIME FIELD OVERFLOW ERROR ON 02-29