Recommended ODBC Drivers for 9.0.2 MobiLink
The MobiLink server connects to several types of consolidated database, using the ODBC 3.5 standard. For most supported consolidated database types, you should use the iAnywhere Solutions ODBC driver for that type of database. The iAnywhere Solutions ODBC drivers and the MobiLink server are included in the SQL Anywhere Studio product. When iAnywhere Solutions does not provide an ODBC driver, then you must use one provided by another vendor. ODBC drivers from other vendors may not support some optional ODBC functionality that the MobiLink server requires.
Some ODBC drivers have different behaviors that cannot be detected by querying the driver. For these we test the driver to determine viable workarounds. Once we have identified a set of workarounds that are required for a driver, we update the MobiLink server so that it recognizes the version of the driver. It then will automatically apply the required set of workarounds for that driver.
For some ODBC drivers, we are unable to develop viable workarounds for all issues. In these cases, you still may be able to use the driver if your synchronizations do not require the missing driver functionality.
For ease of testing, and to allow MobiLink to apply workarounds to drivers that it does not recognize, the MobiLink workarounds can be set by the undocumented –hw command-line switch. This switch and its associated workarounds are not documented because indiscriminate use of workarounds could cause data corruption or software errors.
Note that after workaround sets are identified, we can make future versions of MobiLink apply the associated hidden workaround switches automatically. Thus if you chose to use hidden workarounds directly, you may not need them with newer versions of the MobiLink server. Continued use of hidden switches with a newer MobiLink may even cause problems or reduced performance.
Driver testing
We use two types of testing of ODBC drivers with MobiLink.
The first, referred to as MLR, is a comprehensive suite of regression tests that exercise synchronization functionality. If some specific MLR tests fail, the driver may still be suitable as long as your synchronizations do not rely on the functionality that failed. For example, if the only MLR tests that fail are for synchronization of LONG BINARY data, then the driver may still be suitable for you if you are not using MobiLink to synchronize LONG BINARY data.
The second type of testing, referred to as MLB, is high-load testing involving many clients synchronizing simultaneously with a MobiLink server running on a multi-processor computer. We have found that some drivers from other vendors will fail with multiple simultaneous connections or under high load while running on multiple processors.
Recommended Drivers
As a result of our testing, we recommend the following ODBC drivers for use with version 9.0.2 of the MobiLink server.
If you are having problems with an older version of MobiLink, you should consider upgrading to a newer version. Older versions may no longer be actively supported. For more information, see SQL Anywhere Supported Platforms and Engineering Support Status.
The following sections list the recommended ODBC driver for different types of consolidated database. In some cases, alternative drivers are also listed. Click on one of the consolidated DBMS types below to see recommended driver information for using MobiLink with that type of DBMS:
Sybase Adaptive Server Anywhere (ASA)
Sybase Adaptive Server Enterprise (ASE)
Microsoft SQL Server 2000, 2005
Sybase Adaptive Server Anywhere (ASA)
|
Driver |
Adaptive Server Anywhere 9.0 |
|
|
Version |
9.0.2 |
|
|
Status |
Recommended for use with MobiLink. |
|
|
Client s/w |
None. |
|
|
OS |
Windows |
NT4.0, 2000, XP, 2003( 32 bit), 95, 98, Me. |
|
Linux |
Redhat 9.0; AS 2.1, 3.0, 4 |
|
|
Solaris |
7, 8, 9 |
|
|
HP-UX |
11.0, 11i(32-bit) on PA-RISC processors |
|
|
AIX |
4.3.3, 5.1, 5.2 |
|
|
Mac OS |
10 |
|
|
Workarounds applied by MobiLink |
-hwc+o+ |
|
|
Other required workarounds |
None |
|
|
Pros |
All performance tests pass |
|
|
Cons |
None. |
|
|
Notes |
The MLR tests all pass with the ODBC driver included with ASA, and the MLB testing shows no problems with multiple clients simultaneously synchronizing through a MobiLink server running on a multi-processor computer. |
|
Sybase Adaptive Server Enterprise (ASE)
|
Driver |
Sybase Adaptive Server Enterprise ODBC driver |
|
|
Version |
15.0.0.140( This version is available by downloading the ESD#6 of ASE 15.0 SDK ) |
|
|
Status |
Recommended for use with MobiLink. |
|
|
Client s/w |
None |
|
|
OS |
Windows |
200x, XP |
|
Workarounds applied by MobiLink |
-hwf+i+j+t+v+w+A+ |
|
|
Other required workarounds |
None |
|
|
Pros |
All performance tests pass |
|
|
Cons |
Fetching a zero value from a numeric column binding with SQL_CHAR will return the value "0.". |
|
|
Notes |
This driver is only supported on Windows. If you want to support Linux and Unix, you need to use a DataDirect ODBC driver for ASE. Always set ServerInitiatedTransactions to zero. Set AnsiNull to 1, if the "where clauses" of any of the upload and download scripts may have the clause of "column_name = NULL". Cursor-based uploads are not supported. |
|
|
Driver |
DataDirect Sybase Wire Protocol ODBC Driver |
|
|
Version |
5.10.0047(B0038,U0013)(Win32) ,5.10.0016(B0011,U0004)(Linux), 4.20.0063(B0061,U0057)(Win32) ,4.20.0106(B0086,U0070)( Linux ), 4.20.0099(B0080,U0069)( Solaris ), 4.20.0092(B0079, U0069)( AIX ) |
|
|
Status |
Recommended for use with MobiLink -- This driver must be purchased from DataDirect |
|
|
Client s/w |
None |
|
|
OS |
Windows |
NT4.0, 2000, XP, 2003( 32 bit), 98, Me. |
|
Linux |
5.1 drivers support: |
|
|
Solaris |
7, 8, 9 |
|
|
AIX |
4.3.3, 5.1, 5.2 |
|
|
Workarounds applied by MobiLink |
-hwf+i+j+t+v+w+A+ |
|
|
Other required workarounds |
None |
|
|
Pros |
All performance tests pass |
|
|
Cons |
None |
|
|
Notes |
When setting up the DSN, on Win32, check the "Enable Describe Parameter" option and select the "2-Full" option for Prepare Method on the Performance tab. On Unix, set the "OptimizePrepare=2" option and leave the other options with default values. Setting "OptimizePrepare=3" and "SelectMethod=1" can cause blocking in the ASE server. |
|
|
Driver |
iAnywhere Solutions 9 - Sybase ASE ODBC Driver |
|
|
Version |
5.10.0047(B0038,U0013)(Win32) ,5.10.0016(B0011,U0004)(Linux), 4.20.0063(B0061,U0057)(Win32) ,4.20.0106(B0086,U0070)( Linux ), 4.20.0099(B0080,U0069)( Solaris ), 4.20.0092(B0079, U0069)( AIX ) |
|
|
Status |
Deprecated for use with MobiLink. |
|
|
Client s/w |
None |
|
|
OS |
Windows |
NT4.0, 2000, XP, 2003( 32 bit), 98, Me. |
|
Linux |
5.1 drivers support: |
|
|
Solaris |
7, 8, 9 |
|
|
AIX |
4.3.3, 5.1, 5.2 |
|
|
Workarounds applied by MobiLink |
-hwf+i+j+t+v+w+A+ |
|
|
Other required workarounds |
None |
|
|
Pros |
All performance tests pass |
|
|
Cons |
None |
|
|
Notes |
This driver is deprecated. We still continue to support it. If you encounter a problem with this driver, a fix can't be made. When setting up the DSN, on Win32, check the "Enable Describe Parameter" option and select the "2-Full" option for Prepare Method on the Performance tab. On Unix, set the "OptimizePrepare=2" option and leave the other options with default values. Setting "OptimizePrepare=3" and "SelectMethod=1" can cause blocking in the ASE server. |
|
Oracle 9i, 10g
We do not recommend any ODBC drivers from Oracle. All of the ones from Oracle that we have tested have had multi-threading issues. Use one of the following drivers instead.
Oracle 9i, 10g
|
Driver |
iAnywhere Solutions 9 - Oracle ODBC Driver |
|
|
Version |
10.00.01 |
|
|
Status |
Recommended for use with MobiLink. |
|
|
Client s/w |
Oracle 9i or higher client |
|
|
OS |
Windows |
200x, XP. |
|
Linux |
Redhat Enterprise Linux 4 |
|
|
Solaris |
7(Only support 9i client), 8, 9 |
|
|
AIX |
5.1(Only support 9i client), 5.2 |
|
|
Workarounds applied by MobiLink |
None |
|
|
Other required workarounds |
None |
|
|
Pros |
All performance tests pass |
|
|
Cons |
None | |
|
Notes |
1. This driver requires Oracle 9i or higher client. You must install Oracle 9i or higher client, otherwise the driver won't work. Before you install Oracle client, you need make sure which platforms Oracle clients support and then install proper one. 2. SID on Windows DSN setting or ServerName in Linux's .odbc.ini are Oracle TNS service name defined in $ORACLE_HOME/network/admin/tnsnames.ora 3. The default setting of "Procedure return results" on Windows or ProcResults on Linux, Solaris, AIX is no. 4. Cursor-based uploads are not supported. |
|
Oracle 8, 8i, 9i, 10g
|
Driver |
DataDirect Oracle Wire Protocol ODBC Driver |
|
|
Version |
5.10.0062(B0040,U0013) (Win32), 5.10.0053(B0036,U0011)( Linux ), 4.20.00.81(B0067,U0062)(Win32), 4.20.0113(B0086,U0070)(Linux) ,4.20.0104(B0080,U0069)( Solaris ) , 4.20.0100(B0079,U0069)( AIX ) |
|
|
Status |
Recommended for use with MobiLink -- This driver must be purchased from DataDirect |
|
|
Client s/w |
None |
|
|
OS |
Windows |
NT4.0, 2000, XP, 2003( 32 bit), 98, Me. |
|
Linux |
5.1 drivers support: |
|
|
Solaris |
7, 8, 9 |
|
|
AIX |
4.3.3, 5.1, 5.2 |
|
|
Workarounds applied by MobiLink |
-hwk+w+f+A+F+ |
|
|
Other required workarounds |
None |
|
|
Pros |
All performance tests pass |
|
|
Cons |
The BINARY_FLOAT and BINARY_DOUBLE data types, new in Oracle 10g, are not supported by 4.2 driver. | |
|
Notes |
This driver supports Oracle 8i (8.1.6, 8.1.7), Oracle 9i and Oracle 10g.
On Unix, EnableScrollableCursor=1 should be set, otherwise, it will fail to unlock the driver. |
|
|
Driver |
iAnywhere Solutions 9 - Oracle Wire Protocol ODBC Driver |
|
|
Version |
5.10.0062(B0040,U0013) (Win32), 5.10.0053(B0036,U0011)( Linux ), 4.20.00.81(B0067,U0062)(Win32), 4.20.0113(B0086,U0070)(Linux) ,4.20.0104(B0080,U0069)( Solaris ) , 4.20.0100(B0079,U0069)( AIX ) |
|
|
Status |
Deprecated for use with MobiLink. |
|
|
Client s/w |
None |
|
|
OS |
Windows |
NT4.0, 2000, XP, 2003( 32 bit), 98, Me. |
|
Linux |
5.1 drivers support: |
|
|
Solaris |
7, 8, 9 |
|
|
AIX |
4.3.3, 5.1, 5.2 |
|
|
Workarounds applied by MobiLink |
-hwk+w+f+A+F+ |
|
|
Other required workarounds |
None |
|
|
Pros |
All performance tests pass |
|
|
Cons |
The BINARY_FLOAT and BINARY_DOUBLE data types, new in Oracle 10g, are not supported by 4.2 driver. | |
|
Notes |
This driver is deprecated. If you encounter a problem with the driver, a fix can not be made. This driver supports Oracle 8i (8.1.6, 8.1.7), Oracle 9i and Oracle 10g.
On Unix, EnableScrollableCursor=1 should be set, otherwise, it will fail to unlock the driver. |
|
Microsoft SQL Server 2000, 2005
Important: With any version of SQL Server, you should specify "SET NOCOUNT ON" as the first statement in all stored procedures or SQL batches executed via ODBC. Without this option, a "number of rows affected" message is sent to MobiLink for each statement executed. If you are doing a relatively large number of inserts, updates, and select into statements, these messages can fill network buffers resulting in data being lost without any indication that it is being lost!
SQL Server 2000
|
Driver |
Microsoft SQL Server ODBC Driver |
|
Version |
2000.81.9030.04 (for SQL Server 2000, Win32) |
|
Status |
Recommended for use with MobiLink. |
|
Client s/w |
None |
|
OS |
Win32, Win64 |
|
Workarounds applied by MobiLink |
-hwq+e+C+ |
|
Other required workarounds |
None |
|
Pros |
All performance tests pass |
|
Cons |
None |
|
Notes |
Be sure to put "SET NOCOUNT ON" at the start of all stored procedures and batches that are executed via ODBC. For SQL Server 2000, the driver has problems with the ODBC convention for calling stored procedures: |
SQL Server 2005
|
Driver |
Microsoft SQL Native Client ODBC Driver |
|
Version |
2005.90.1399.00 |
|
Status |
Recommended for use with MobiLink. |
|
Client s/w |
None |
|
OS |
Win32 |
|
Workarounds applied by MobiLink |
-hwq+e+C+ |
|
Other required workarounds |
None |
|
Pros |
All performance tests pass |
|
Cons |
None |
|
Notes |
Be sure to put "SET NOCOUNT ON" at the start of all stored procedures and batches that are executed via ODBC. For SQL Server, using the ODBC convention for calling stored procedures: |
IBM DB2
Important:
- Mobilink only supports the DB2 on Windows, Linux and Unix. DB2 AS/400 and DB2 mainframe are not supported.
- See The Importance of the Dynamic Sections Option of the iAnywhere Solutions DB2 ODBC Driver.
- Any DB2 Java stored procedures used in MobiLink synchronization should always immediately set autocommit to OFF, for example by using getConnection.setAutoCommit(false).
DB2 UDB 8.1
|
Driver |
IBM DB2 UDB ODBC Driver |
|
|
Version |
8.01.11.973(Win32), 8.02.0000(Linux, Solaris, AIX, HP), 8.01.02.169(Windows IA64) |
|
|
Status |
Recommended for use with MobiLink. |
|
|
Client s/w |
DB2 UDB Client 8.1+FixPak 7 or DB2 UDB 8.2 |
|
|
OS |
Windows |
200x, XP. |
|
Linux |
Redhat Enterprise Linux 3.0, 4.0 |
|
|
Solaris |
8, 9, 10 |
|
|
AIX |
5.1, 5.2 |
|
|
HP-UX |
11i |
|
|
Workarounds applied by MobiLink |
-hwf+h+n+u+A+ |
|
|
Other required workarounds |
None |
|
|
Pros |
All performance tests pass |
|
|
Cons |
With "Long object binary treatment" set to "AS LONGVAR data", all BLOB, CLOB, LONG VARCHAR, LONG VARCHAR FOR BIT DATA tests will fail, always set to "AS LOB data". |
|
|
Notes |
On Linux, Solaris, AIX and HP-UX, you need to source db2profile to export DB2 environment variables. db2profile is in your DB2 install home directory. On HP-UX, if you don't set LANG environment variable, the driver will use default locale which is "POSIX" to do charset conversion and data may be corrupted. Please make sure you set LANG to right charset as your DB2 database. In situation where the MobiLink is under load, you need to change two database configuration parameters LOCKLIST and APPLHEAPSZ, set LOCKLIST to 500 and APPLHEASZ to 1024. The CHR() function of DB2 UDB 8.1 changes 0x00 to 0x20. Cursor-based uploads are not supported. |
|
|
Driver |
DataDirect DB2 Wire Protocol ODBC Driver |
|
|
Version |
5.10.0065(B0038,U0013) (Win32) , 5.10.0062(B0037,U0012)(Linux), 4.20.0115(B0080,U0069)(Win32), 4.20.0134(B0086,U0070)(Linux) , 4.20.0121(B0082,U0070) (Solaris), , 4.20.0127(B0085,U0070) (HP-UX) , 4.20.0112(B0080,U0069)(AIX) |
|
|
Status |
Recommended for use with MobiLink -- This driver must be purchased from DataDirect |
|
|
Client s/w |
None |
|
|
OS |
Windows |
NT4.0, 2000, XP, 2003( 32 bit), 98, Me. |
|
Linux |
5.1 drivers support: |
|
|
Solaris |
7, 8, 9 |
|
|
HP-UX |
11i |
|
|
AIX |
4.3.3, 5.1, 5.2 |
|
|
Workarounds applied by MobiLink |
-hwf+n+u+A+D+ | |
|
Other required workarounds |
None |
|
|
Pros |
All performance tests pass |
|
|
Cons |
None | |
|
Notes |
For DB2 8.1GA, using a stored procedure to insert rows will fail, we will fix this problem in an EBF. The workaround for this issue is to apply DB2 8.1 Fixpak 4. The performance of this driver is better than IBM's own DB2 ODBC driver. Before you use the DB2 data source for the first time, you must successfully bind a package for the data source. Consult the MobiLink documentation for details. For MLB testing, the database configuration parameter LOCKLIST needs to be changed to 500. The CHR() function of DB2 UDB 8.1 changes 0x00 to 0x20. |
|
|
Driver |
iAnywhere Solutions 9 - DB2 Wire Protocol ODBC Driver |
|
|
Version |
5.10.0065(B0038,U0013) (Win32) , 5.10.0062(B0037,U0012)(Linux), 4.20.0115(B0080,U0069)(Win32), 4.20.0134(B0086,U0070)(Linux) , 4.20.0121(B0082,U0070) (Solaris), , 4.20.0127(B0085,U0070) (HP-UX) , 4.20.0112(B0080,U0069)(AIX) |
|
|
Status |
Deprecated for use with MobiLink. |
|
|
Client s/w |
None |
|
|
OS |
Windows |
NT4.0, 2000, XP, 2003( 32 bit), 98, Me. |
|
Linux |
5.1 drivers support: |
|
|
Solaris |
7, 8, 9 |
|
|
HP-UX |
11i |
|
|
AIX |
4.3.3, 5.1, 5.2 |
|
|
Workarounds applied by MobiLink |
-hwf+n+u+A+D+ | |
|
Other required workarounds |
None |
|
|
Pros |
All performance tests pass |
|
|
Cons |
None | |
|
Notes |
This driver is deprecated. If you encounter a problem with this driver, a fix can not be made. For DB2 8.1GA, using a stored procedure to insert rows will fail, we will fix this problem in an EBF. The workaround for this issue is to apply DB2 8.1 Fixpak 4. The performance of this driver is better than IBM's own DB2 ODBC driver. Before you use the DB2 data source for the first time, you must successfully bind a package for the data source. Consult the MobiLink documentation for details. For MLB testing, the database configuration parameter LOCKLIST needs to be changed to 500. The CHR() function of DB2 UDB 8.1 changes 0x00 to 0x20. |
|
DB2 UDB 7.2
|
Driver |
IBM DB2 UDB ODBC driver |
|
Version |
7.01.00.93 |
|
Status |
Recommended for use with MobiLink with caveats. |
|
Client s/w |
DB2 UDB Client 7.01.0000 with FixPak 3 and FixPak 11 or |
|
OS |
Win32 |
|
Workarounds applied by MobiLink |
-hwf+h+n+u+A+ |
|
Other required workarounds |
None |
|
Pros |
Except for two BLOB tests, passes all MLR tests using statement-based upload. Passes most MLR tests using cursor-based uploads. Passes all MLB tests. |
|
Cons |
Cursor-based uploads of BLOB, CLOB, LONG VARCHAR and LONG VARCHAR FOR BIT DATA fail. The driver has a bug with two or more BLOB columns, SQLParamData shows "Memory allocation failed" when uploading into a table with more than one BLOB column. |
|
Notes |
Use statement-based uploads instead of cursor-based uploads. To install this driver, if your DB2 UDB client is 7.01.0000, you need to first install FixPak3 and then install FixPak 7; if your DB2 UDB client is 7.02.0000, just install FixPak 7 directly. For MLB testing, two database configuration parameters LOCKLIST and APPLHEAPSZ need to be changed. Set LOCKLIST to 500 and APPLHEAPSZ to 1024. This driver is better than 7.01.00.00. Cursor-based uploads are not supported. |
|
Driver |
DataDirect DB2 Wire Protocol ODBC Driver |
|
|
Version |
5.10.0062(B0037,U0012)(Linux), 4.20.0134(B0086,U0070)(Linux) , 4.20.0121(B0082,U0070) (Solaris), , 4.20.0112(B0080,U0069)(AIX) |
|
|
Status |
Recommended for use with MobiLink with caveats -- This driver must be purchased from DataDirect |
|
|
Client s/w |
None |
|
|
OS |
Linux |
5.1 drivers support: |
|
Solaris |
7, 8, 9 |
|
|
AIX |
4.3.3, 5.1, 5.2 |
|
|
Workarounds applied by MobiLink |
-hwf+n+u+A+D+ | |
|
Other required workarounds |
None |
|
|
Pros |
Except BLOB tests and CLOB bigger than 32762 tests, all MLR tests pass, |
|
|
Cons |
The BLOB data type is not supported. This driver only supports up to 32K-length values of the CLOB data type when running against DB2 7.2 or previous server. |
|
|
Notes |
On Windows, please use IBM DB2 UDB ODBC driver 7.01.00.65 with Mobilink.
The performance of this driver is better than IBM's own DB2 ODBC driver. Before you use the DB2 data source for the first time, you must successfully bind a package for the data source. Consult the MobiLink documentation for details. For MLB testing, the database configuration parameter LOCKLIST needs to be changed to 500. The file name of the driver is wqdb219.xxx, where xxx refers to dll, so or sl. |
|
|
Driver |
iAnywhere Solutions 9 - DB2 Wire Protocol ODBC Driver |
|
|
Version |
5.10.0062(B0037,U0012)(Linux), 4.20.0134(B0086,U0070)(Linux) , 4.20.0121(B0082,U0070) (Solaris), , 4.20.0112(B0080,U0069)(AIX) |
|
|
Status |
Deprecated for use with MobiLink with caveats. |
|
|
Client s/w |
None |
|
|
OS |
Linux |
5.1 drivers support: |
|
Solaris |
7, 8, 9 |
|
|
AIX |
4.3.3, 5.1, 5.2 |
|
|
Workarounds applied by MobiLink |
-hwf+n+u+A+D+ |
|
|
Other required workarounds |
None |
|
|
Pros |
Except BLOB tests and CLOB bigger than 32762 tests, all MLR tests pass, |
|
|
Cons |
The BLOB data type is not supported. This driver only supports up to 32K-length values of the CLOB data type when running against DB2 7.2 or previous server. |
|
|
Notes |
On Windows, please use IBM DB2 UDB ODBC driver 7.01.00.65 with Mobilink. The performance of this driver is better than IBM's own DB2 ODBC driver. Before you use the DB2 data source for the first time, you must successfully bind a package for the data source. Consult the MobiLink documentation for details. For MLB testing, the database configuration parameter LOCKLIST needs to be changed to 500. The file name of the driver is wqdb219.xxx, where xxx refers to dll, so or sl. |
|

Back to Top