The MobiLink server connects to several types of consolidated database using the ODBC 3.5 standard. For some supported consolidated database types you should use the iAnywhere Solutions ODBC driver for that type of database. For others we recommend drivers supplied by the database vendors. The iAnywhere Solutions ODBC drivers and the MobiLink server are included in the SQL Anywhere 11 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.
Driver testing
We use two types of testing of ODBC drivers with MobiLink.
The first type of testing is a comprehensive suite of regression tests that exercise synchronization functionality. If some specific regression 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 regression 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 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 11.0.1 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 http://www.sybase.com/detail?id=1002288.
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 Enterprise 12.5.3 and 15.0
Microsoft SQL Server 2005 and 2008
For detailed supported consolidated databases, please refer to http://www.sybase.com/detail?id=1057111#ConsDB.
SQL Anywhere (SA) 11
|
Driver |
SQL Anywhere 11.0 |
|
|
Version |
11.0.1 |
|
|
Status |
Recommended for use with MobiLink. |
|
|
Client s/w |
None. |
|
|
OS |
Windows |
200x, XP, Vista |
|
Linux |
Redhat Enterprise Linux 4, 5 |
|
|
Solaris |
8, 9, 10 |
|
|
AIX |
5.3, 6.1, 7.1[build 11.0.1.2637 and up] |
|
|
MAC OS X |
10.5 (Intel) |
|
|
Pros |
All tests pass. |
|
|
Cons |
None. |
|
|
Notes |
None |
|
Sybase Adaptive Server Enterprise 12.5.3 and 15.0
|
Driver |
Sybase Adaptive Server Enterprise ODBC driver |
|
|
Version |
15.0.0.335 (Win32 and 64) and 15.0.0.335 (Linux32 and 64). These drivers are available from the ASE 15.0 SDK ESD#16. |
|
|
Status |
Recommended for use with MobiLink with caveats. |
|
|
Client s/w |
None |
|
|
OS |
Windows |
200x, XP, Vista |
|
Linux |
Redhat Enterprise Linux 4, 5 |
|
|
Pros |
All tests pass |
|
|
Cons |
|
|
|
Notes |
|
|
Oracle 10g and 11g
Oracle 10g
|
Driver |
iAnywhere Solutions 11 - Oracle ODBC Driver |
|
|
Version |
11.00.01 |
|
|
Status |
Recommended for use with MobiLink. |
|
|
Client s/w |
Oracle 10g client |
|
|
OS |
Windows |
200x, XP, Vista |
|
Linux |
Redhat Enterprise Linux 4, 5 |
|
|
Solaris |
8, 9, 10 |
|
|
AIX |
5.3, 6.1, 7.1[build 11.0.1.2637 and up] |
|
|
Pros |
All tests pass. |
|
|
Cons |
None | |
|
Notes |
|
|
Oracle 11g
|
Driver |
iAnywhere Solutions 11 - Oracle ODBC Driver |
|
|
Version |
11.00.01 |
|
|
Status |
Recommended for use with MobiLink. |
|
|
Client s/w |
Oracle 11g client |
|
|
OS |
Windows |
200x, XP, Vista |
|
Linux |
Redhat Enterprise Linux 4, 5 |
|
|
Solaris |
9, 10 |
|
|
AIX |
5.3, 6.1, 7.1[build 11.0.1.2637 and up] |
|
|
Pros |
All tests pass. |
|
|
Cons |
None | |
|
Notes |
|
|
Microsoft SQL Server 2005 and 2008
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!
Microsoft SQL Server 2005
|
Driver |
Microsoft SQL Native Client ODBC Driver |
|
Version |
2005.90.xxxx.00 |
|
Status |
Recommended for use with MobiLink. |
|
Client s/w |
None |
|
OS |
200x, XP, Vista |
|
Pros |
Passes all tests. |
|
Cons |
None |
|
Notes |
Be sure to put "SET NOCOUNT ON" at the start of all stored procedures and batches that are executed via ODBC. |
Microsoft SQL Server 2008
|
Driver |
Microsoft SQL Native Client ODBC Driver |
|
Version |
2007.100.xxxx.xx |
|
Status |
Recommended for use with MobiLink. |
|
Client s/w |
None |
|
OS |
200x, XP, Vista |
|
Pros |
Passes all tests. |
|
Cons |
None |
|
Notes |
Be sure to put "SET NOCOUNT ON" at the start of all stored procedures and batches that are executed via ODBC. |
IBM DB2 8.2 and 9.5
Important:
- MobiLink only supports the DB2 on Windows, Linux, Unix and z/OS (mainframe). DB2 AS/400 is not supported.
- Any DB2 Java stored procedures used in MobiLink synchronization should always immediately set autocommit to OFF, for example by using getConnection.setAutoCommit(false).
IBM DB2 8.2
|
Driver |
IBM DB2 ODBC Driver |
|
|
Version |
8.01.17.644 (Win32 and 64), 8.02.0009 (Linux32 and 64). These drivers can be retrieved from DB2 FixPack 17. |
|
|
Status |
Recommended for use with MobiLink. |
|
|
Client s/w |
DB2 UDB Client 8.2 |
|
|
OS |
Windows |
200x, XP, Vista |
|
Linux |
Redhat Enterprise Linux 4, 5 |
|
|
Solaris |
8, 9, 10 |
|
|
AIX |
5.3, 6.1, 7.1[build 11.0.1.2637 and up] |
|
|
Pros |
All tests pass. |
|
|
Cons |
None |
|
|
Notes |
For OS support, please refer to http://www-306.ibm.com/software/data/db2/9/sysreqs.html ( This link may be changed in the future by IBM). On Solaris, the IBM DB2 ODBC drivers may require certain levels of OS patches, please check the IBM Web site for more details. On Linux, Solaris and AIX, you need to source db2profile to export DB2 environment variables. db2profile is in your DB2 install home directory. Two database configuration parameters LOCKLIST and APPLHEAPSZ need to be changed for high load testing. Set LOCKLIST to 500 and APPLHEAPSZ to 1024. On Linux, Solaris and AIX, the 64-bit MobiLink server and the other ODBC drivers define SQLLEN (an ODBC data type) as a 64-bit integer, but the DB2 ODBC driver, version 8.02.0009 for UNIX defines SQLLEN as a 32-bit integer. This disagreement will be handled by the iAnywhere ODBC driver manager for UNIX, if a DSN for DB2 on UNIX contains the following entry QAnywhere does not support consolidated databases running on a DB2 mainframe. |
|
IBM DB2 9.5
|
Driver |
IBM DB2 ODBC Driver |
|
|
Version |
9.05.201.346 (Win32 and 64), 9.05.0002 (Linux32 and 64). These drivers can be retrieved from DB2 FixPack 2a. |
|
|
Status |
Recommended for use with MobiLink. |
|
|
Client s/w |
DB2 UDB Client 9.5 |
|
|
OS |
Windows |
200x, XP, Vista |
|
Linux |
Redhat Enterprise Linux 4, 5 |
|
|
Solaris |
9, 10 |
|
|
Pros |
All tests pass. |
|
|
Cons |
None |
|
|
Notes |
For OS support, please refer to http://www-306.ibm.com/software/data/db2/9/sysreqs.html ( This link may be changed in the future by IBM). On Solaris, the IBM DB2 ODBC drivers may require certain levels of OS patches, please check the IBM Web site for more details. On Linux, Solaris and AIX, you need to source db2profile to export DB2 environment variables. db2profile is in your DB2 install home directory. Two database configuration parameters LOCKLIST and APPLHEAPSZ need to be changed for high load testing. Set LOCKLIST to 500 and APPLHEAPSZ to 1024. QAnywhere does not support consolidated databases running on a DB2 mainframe. |
|
MySQL 5.1
|
Driver |
MySQL ODBC driver |
|
|
Version |
5.01.05 (Win32 and 64) and 5.01.05 (Linux32 and 64). |
|
|
Status |
Recommended for use with MobiLink Server |
|
|
Client s/w |
None |
|
|
OS |
Windows |
200x, XP, Vista |
|
Linux |
Redhat Enterprise Linux 4, 5 |
|
|
Pros |
All tests pass |
|
|
Cons |
None |
|
|
Notes |
1) Storage Engine: MySQL offers a set of storage engines in a MySQL server and some storage engines are ACID compliant and some are not. The MobiLink server requires an ACID compliant storage engine, such as InnoDB, Falcon. Please make sure the default storage engine is ACID compliant. If the default storage engine is not ACID compliant, please make sure all the MobiLink server system tables are created using an ACID compliant storage engine. 2) Stored Procedures: The MySQL ODBC driver does not support inout or out parameters for stored procedure calls. Therefore, all procedures that need inout parameters must be written as functions that can return an out value. The MobiLink server events that require inout parameters, such as authenticate_user, handle_error, modify_user must be implemented as functions and run using a select statement, like If the MobiLink server scripts use named parameters, the parameters will not be changed after execution of the script. User-defined named parameters, e.g. {ml u.my_var} are thus not supported. 3) Cursor Scripts: The upload_fetch, download_cursor, or download_delete_cursor event may be written as a select statement and the MobiLink server uses the read-committed isolation level to execute the select statement. However, with the read-committed isolation, the MySQL ODBC driver may allow the MobiLink server to read uncommitted operations (inserts, updates and deletes). Then with this behavior, synchronization data would not be consistent between the consolidated and remote databases. This problem has been reported to MySQL. To work around this problem, all the select statements for the upload_fetch, download_cursor, and download_delete_cursor events must contain a "lock in share mode" clause. For instance, a download_cursor script should be written as 4) UNIX Platforms: There are two ways to specify an ODBC configuration file on UNIX: a) Place the file ODBC.INI (the file name must be in upper case) or symbolic link, ODBC.INI in the home directory of the current user; On UNIX platforms, the 64-bit MobiLink server and the other ODBC drivers define SQLLEN (an ODBC data type) as a 64-bit integer, but the MySQL ODBC driver defines SQLLEN as a 32-bit integer. This disagreement will be handled by the iAnywhere ODBC driver manager for UNIX, if a DSN for MySQL on UNIX contains the following entry 5) QAnywhere Support: QAnywhere does not support consolidated databases running on MySQL servers. |
|

Back to Top