Licensed Materials - Property of IBM
"Restricted Materials of IBM"
IBM Informix Client SDK 2.81
© Copyright IBM Corporation 2003 All rights reserved.
Version: 2.81
The purpose of these release notes is to make you aware of any special actions required to configure and use the Client SDK products on your computer. This file also describes new features and feature differences from earlier versions of this product and other Informix products, and how these differences affect current products. In addition, this file contains information about known bugs and their workarounds.
This release notes document is not intended to be all-inclusive; it should be used as an addendum to the product manuals which provide thorough information about product features and behavior.
These release notes are written for the following audience:
You will find release notes for products available as part of the Client SDK Version 2.81 release in the following files:
|
|
|
Fixed and Known Defects
for all CSDK components |
The Client SDK Version 2.81 products have been tested with the following database servers:
Component |
Version |
ESQL/C |
9.53 |
ODBC driver (formerly CLI) |
3.82 |
OLE-DB (Only On Windows) |
2.81 |
Object Interface for C++ (LIBC++) |
2.84 |
Client LIBMI (LIBDMI) |
2.43 |
Setnet32 (Only On Windows) |
9.53 |
GLS |
4.00 |
Some of the Client SDK files, such as ESQL/C , ODBC and OLEDB , include example files. See the release notes for each Client SDK product to find the location of example files for that product.
This section describes the known problems with this release of the Client SDK and shows how to work around these problems. See individual product release notes for problems that are specific to each product.
PRODUCTS ON WINDOWS PLATFORMS WILL USE ENVIRONMENT VARIABLE SETTINGS AT A HIGHER PRECEDENCE THAN THE CURRENT USER'S REGISTRY OR THE INETLOGIN STRUCT
Workaround :
For Win32 client, do not set Informix specific environment variables in the Windows OS environment. If these variables are set in the OS environment, your applications will not be able to override them. In other words, your applications will not be able to use the values you specified using the setnet32 utility or set via calls to ifx_putenv(); these values will be picked up from the OS environment instead.
In the following notes, I-CONNECT 2.81 refers to the conn.tar file in the Client SDK Version 2.81 bundle, and ClientSDK 2.81 refers to the csdk.tar file in the Client SDK 2.81 bundle.
To recompile and get new functionality, you need the development version of the product (CSDK 2.81 tar file).
Both existing 7.2x (and 9.1x) applications will then use the Version 9.53 shared libraries, and they should all work correctly. (The 7.2x shared libraries will not be accessible by the ESQL/C preprocessor.) No relinking or recompilation is required. However, only 7.2x level functionality and some bug fixes will be available if a 7.2x application is not recompiled.
Known Issues with OleDb .NET
bridge
In a .NET application, when calling stored procedures that take no parameters,
the OledbCommand attribute "CommandType" does not function as
expected. This is due to the requirement of Informix servers to have
parentheses as part of the syntax of the stored procedure even if there are no
parameters. In order to work around this use the OledbCommand's commandText
attribute to build your own string for the stored procedure call before
calliing the Executexxx methods of the command interface.
Known Issues with Odbc .NET bridge
In a .NET application, when calling stored procedures , the OdbcCommand
attribute "CommandType" does not function as required. In order to
work around this use the OdbcCommand's commandText attribute to build your own
string for the stored procedure call before calliing the Executexxx methods of
the command interface.
Windows Installer Installation,repair,and uninstallation can be activated from the Command line using the utility MsiExec with appropriate command-line options.MsiExec is a part of Windows 2000, and InstMsi Installs
MsiExec into <SystemFolder> on other
Systems.
For
example, here are some common installer actions and ther corresponding command-
line options.
Install:
Msiexec.exe /i D:\Example.msi
Uninstall:
MsiExec.exe /x D:\Example.msi
Install to
Network:
MsiExec.exe /a D:\Example.msi
Repair:
MsiExec.exe /f D:\Example.msi
Advertise (to machine):
MsiExec.exe /jm D:\Example.msi
Advertise ( to current user):
MsiExec.exe /ju D:\Example.msi
MsiExec also accepts a product code instead of a path to an MSI Package.
public properties (those with upper-case names) of an installation program can be set at the command line. For example, the default user and company names displayed in the Identification panel of an installation are taken from the target system's registry and stored in the public installer properties USERNAME and COMPANYNAME. To set the user and company names at the command line, we enter a command similar to the following. (Note that property names are case-sensitive, and that we enclose a property value in quotation marks if the value contains any spaces.)
MsiExec.exe /i “<.msi file path name>” USERNAME=Default COMPANYNAME="<company name"
Similarly user can specify an alternative value for INSTALLDIR on the command line
MsiExec.exe /i “<.msi file path name>” INSTALLDIR="<NewLocation path>"
An administration can prevent a product from being uninstalled by setting the ARPNOREMOVE property to 1 at the command line.Similarly, setting ARPNOMODIFY to 1 prevents users from modifying installed files, and setting ARPNOREPAIR to 1 disables the Repair button in the Windows 2000 Add/Remove Programs Control panel applet.
Refer Informix Client Products Installation Guide for Unix,Linux And Windows from the url
http://www.informix.com/answers/english/docs/25sdk/6638.pdf
on page 2-9.
Logging
:-
=======
We can create a log file at setup runtime using the /L argument to MsiExec. For example to store all error and warning messages in a text log file, we can use the following command line, which passes the e and w arguments to /L
MsiExec.exe /i "<.Msi file path name" /Lew D:\install.log
To log every action performed by the setup program,the command is
MsiExec.exe /i ".Msi file path name" /L*v D:\install.log
Note:- By default, MsiExec creates a log file in a users' Temp folder only if an error occurs.
Refer Informix Client Products Installation Guide for Unix,Linux And Windows from the url
http://www.informix.com/answers/english/docs/25sdk/6638.pdf on page no 2-10
Refer Informix Client Products Installation Guide for Unix,Linux And Windows from the url
http://www.informix.com/answers/english/docs/25sdk/6638.pdf on page 2-11
Refer Informix Client Products Installation Guide for Unix,Linux And Windows from the url
http://www.informix.com/answers/english/docs/25sdk/6638.pdf
on page 2-12
Refer Informix Client Products Installation Guide for Unix,Linux And Windows from the url http://www.informix.com/answers/english/docs/25sdk/6638.pdf on page 2-12
Refer Informix Client Products Installation Guide for Unix,Linux And Windows from the url
http://www.informix.com/answers/english/docs/25sdk/6638.pdf
on page 2-13
For information about the content of this release, refer to the release notes and documentation notes for each of the Client SDK products.
ODBC 3.82, OLEDB 2.81,
ESQL/C 9.53, LIBC++ 2.84, LIBDMI 2.43
CSDK2.81 with version
9.40 of Dynamic Server supports encrypting data transmissions over the network
using the encryption communication support module (ENCCSM).
This option provides complete data
encryption with the openSSL library, with
many configurable options. A message authentication code (MAC) will be transmitted as part of the encrypted data
transmission to ensure data integrity. A MAC is an encrypted message digest.
The encryption algorithms use openSSL 0.9.6 as the code base.
Distributed queries can also be encrypted.
The currently-supported ciphers are:
Important: The cipher desx can only be used in cbc mode.
Current supported modes are:
Because ECB mode is considered
weak, it is only included if specifically requested. It is not included in the all
or the allbut list.
For more information on encryption, see the IBM Informix Dynamic Server Administrator's Guide.
The following enhancements
have been made to the files used in installation on UNIX systems.
The installation program
on UNIX prompts the user to avoid overwriting existing
client or GLS files that are more recent than those included with
the database server.
The installation program
no longer prompts for a serial number and key.
Client SDK Version 2.81
uses Version 4.0 of the GLS library, which
supports important new features for databases that do not use the default
locale.
For information on the
new collation order feature, Please see
ESQL/C 9.53 Release notes
The Client SDK now
supports Unicode 3.1.1 code points for multilingual data via the environment
variable GL_USEGLU.
By default, that is without setting
GL_USEGLU, Unicode and GB18030-2000 are supported using Informix locales. In
Client SDK version 2.81, Unicode and GB18030-2000 can also be supported through
ICU (International Components for Unicode) by setting the GL_USEGLU environment
variable to 1. Using Unicode and GB18030-2000 from ICU have at least the
following benefits:
For more information
about ICU, refer to the ICU website at: http://oss.software.ibm.com/icu/.
On Windows, GL_USEGLU can also be set in
setnet32 for client applications, including the IBM-Informix ODBC driver.
Note: When the database locale codeset is UTF8, the database and client
applications must have GL_USEGLU set to the same value. Otherwise, the client
cannot connect.
The use of GLU is turned off, by default and
GLS will use the locale files for Unicode and GB18030-2000. The primary reason for this is that C++
linker is required in order to use ICU.
This will have a wide impact on the existing and new applications. Every existing application will have to
be re-linked using C++ and all new
applications will require a C++ linker.
Turning GLU off by default mitigates this condition.
The GLS library now
supports the Unicode Collation Algorithm that was developed by the Unicode
consortium. This de facto standard for multinational applications incorporates ICU technology.
The previous release of
the Dynamic Server supported the code points within the Basic Multilingual
Plane (BMP) of Unicode. This release now supports the GL18030-2000 codepoints
based on Unicode 3.1.1 standard with the GL_USEGLU environment variable.
D. OLE DB Describe Parameter feature
Ole DB consumers can use the Describe
Parameter feature (also known as Dynamic query extension) by a call to
GetParameterInfo method in the ICommandWithParameters interface of the Command
class. The method will provide the the parameter information that it is able to
derive from the IBM Informix it is connecting to. Note: In case
SetParameterInfo has been called for atleast one parameter, GetParameterInfo
will return only for those parameters for which SetParameterInfo has been
called. GetParameter will not return the parameter information for the
remaining parameters even if it can derive it from the server.
E. ODBC Describe input
parameters feature
ODBC users can make use of Describe input
parameters feature (also known as Dynamic query extension) by calling
SQLDescribeParam(). This is useful to derive the metadata of parameters after a
call to SQLPrepare(). The other ways of getting the parameter information are: SQLGetDescField
and SQLGetDescRec when the IPD is automatically populated after SQLPrepare().
In other words, when an application enables SQL_ATTR_ENABLE_AUTO_IPD attribute
of a statement handle. While SQLDescribeParam() was introduced in the earlier
versions of our driver (with a minimal support), this release has complete
support for this function with a dependency of server support. For more details
and limitations of this feature, please refer to the release notes of IBM
Informix Dynamic server 9.40.
F.
ODBC/Ole DB -
Support for SQL 99 Joins
The SQL 99 Joins
feature extends support for SQL joins within & outside an escape sequence.
This feature requires IDS server side support for "SQL 99 joins",
hence it will work only with IDS version 9.4 or above.
G. ODBC/Ole DB - Support
for 32k Lvarchar
The 32k Lvarchar feature extends the ability of lvarchar columns to hold
upto 32k bytes of data. This feature requires IDS server side support for
"32k Lvarchar", hence it will work only with IDS version 9.4 or above.
H. ESQL/C - New Environment Variables
IFX_PAD_VARCHAR when the environment variable set to 1, the client sends
varchar datatype with padded trailing spaces. When this environment is not
set(default)the client sends varchar datatype value without trailing. This
environment IFX_PAD_VARCHAR needs to set only at the client side and it is
supported only with IBM Informix ESQL/C Version 9.53 or above and IBM Informix
Dynamic Server Version 9.40 or above.
BIG_FET_BUF_SIZE This is an enhancement of FET_BUF_SIZE to support cursor
buffers greater than 32,769 but less than or equal to 4MB. This environment is
supported only for XPS servers starting from Version 8.40.UC1.
BLANK_STRINGS_NOT_NULL when this environment is set to 1 the string host
variable stores an empty string as a single blank followed by a null
terminator, without environment setting, string host variable stores an empty
string as null. This environment BLANK_STRINGS_NOT_NULL is mainly provided to
support backward compatibility for 7x against string host variables and needs
to be set only at client side.
Platform/OS |
BSTP |
IPSP |
IPSM |
TLTP |
TLIX |
MAXC |
Solaris-32 |
|
onipcstr |
onipcshm |
ontlitcp |
ontlispx |
ontliimc |
Solaris-64 |
|
onipcstr |
onipcshm |
ontlitcp |
|
ontliimc |
IRIX-32 |
onsoctcp |
onipcstr |
onipcshm |
|
|
onsocimc |
IRIX-64 |
onsoctcp |
onipcstr |
onipcshm |
|
|
onsocimc |
Decalpha |
onsoctcp |
onipcstr |
onipcshm |
|
|
onsocimc |
HPUX-32 |
onsoctcp |
onipcstr |
onipcshm |
|
|
onsocimc |
HPUX-64 |
onsoctcp |
onipcstr |
onipcshm |
|
|
onsocimc |
AIX-32 |
onsoctcp |
onipcstr |
onipcshm |
|
|
onsocimc |
AIX-64 |
onsoctcp |
onipcstr |
onipcshm |
|
|
onsocimc |
Linux |
onsoctcp |
|
onipcshm |
|
|
onsocimc |
Sequent |
|
onipcstr |
onipcshm |
ontlitcp |
|
onsocimc |
Unixware |
|
|
onipcshm |
ontlitcp |
ontlispx |
onsocimc |
SCO |
|
|
onipcshm |
ontlitcp |
ontlispx |
|
Sinix-32 |
onsoctcp |
onipcstr |
onipcshm |
ontlitcp |
|
ontliimc |
Sinix-64 |
onsoctcp |
onipcstr |
onipcshm |
ontlitcp |
|
ontliimc |
DG-Intel |
|
onipcstr |
onipcshm |
ontlitcp |
|
ontliimc |
Fujitsu |
onsoctcp |
|
onipcshm |
ontlitcp |
|
|
NEC |
|
|
onipcshm |
ontlitcp |
|
|
NCR |
|
onipcstr |
onipcshm |
ontlitcp |
|
ontliimc |
BSTP - Berkeley sockets using TCP/IP
IPSP - IPC using stream pipe
IPSM - IPC using shared memory
TLTP - TLI using TCP/IP
TLIX - TLI using IPX/SPX
MAXC - MaxConnect
Notes:
------
- If you are using 64bit servers:
Remote 32-bit applications/tools (example: ESQL/C, 4GL, ISQL) can only connect
to the IBM Informix Dynamic Server using the TCP/IP protocol. Local 32-bit
applications/tools can connect to the 64-bit server using either TCP/IP
protocols or IPC stream pipe protocols. Local 32-bit applications/tools cannot
connect to the 64-bit server using IPC shared memory protocol.
- If you are using a NUMA system and have several IP addresses configured on
the same physical interface:
The IBM Informix TCP listener thread binds to a particular IP address/port. It
listens for incoming calls addressed to only one IP address. If there are
multiple IP addresses configured on the system, a TLI client will not be able
to connect to the server. (If DNS is configured to resolve the hostname on a
rotary of the four IP addresses, you do not know which of those addresses has
been selected by the IBM Informix TCP listener). The solution is that in the
\$INFORMIXDIR/etc/sqlhosts file, use "*hostname" instead of
"hostname". It will make the IBM Informix TCP listener bind to
INADDR_ANY instead of a particular address.
- For any additional information, Please contact Technical Support or refer IBM
Informix Dynamic Server machine notes.
© Copyright IBM Corporation 2003 All rights reserved