Switch to standard view 
  Sybase logo
 
 
 



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 10 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 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 10.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 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:

SQL Anywhere (SA)

Sybase Adaptive Server Enterprise 12.5.3, 15

Oracle 9i, 10g

Microsoft SQL Server 2000, 2005

IBM DB2

For detailed supported consolidated databases, please refer to http://www.sybase.com/detail?id=1051965#ConsDB.

SQL Anywhere (SA)

Driver

SQL Anywhere 10.0

Version

10.0.1

Status

Recommended for use with MobiLink.

Client s/w

None.

OS

Windows

200x, XP, Vista, Windows x64.

Linux

Redhat Enterprise Linux 4, 5
SuSE 10, SuSE Enterprise Linux 9, 10
Supported where the kernel/glibc versions are within the ranges specified on the SQL Anywhere Supported Linux Platforms.

Solaris

8, 9, 10

AIX

5.2, 5.3

Mac OS

10.4 on Intel x86 processor

Workarounds applied by MobiLink

-hwc+

Other required workarounds

None

Pros

All tests pass.

Cons

None.

Notes

None

Sybase Adaptive Server Enterprise 12.5.3, 15

Driver

Sybase Adaptive Server Enterprise ODBC driver

Version

15.0.0.140 for Windows (This version is available by downloading the ESD#6 of ASE 15.0 SDK )

15.0.0.320 for Linux (This version is available by downloading the Sybase Software Developer Kit - 15 ESD #14)

Status

Recommended for use with MobiLink with caveats.

Client s/w

None

OS

Windows

200x, XP, Vista.

Linux

Redhat Enterprise Linux 4
SuSE 10

Workarounds applied by MobiLink

-hwi+

Other required workarounds

None

Pros

All performance tests pass
Passes most regression tests

Cons

1. Fetching a zero value from a numeric column binding with SQL_CHAR will return the value "0.".
2. On Linux, if set UseCursor=1, the synchronization tables can't be dropped after synchronization.

Notes

Always set UseCursor to zero on Linux.

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"

On Linux, you need to set SYBASE enviroment variable to the directory where you install ASE SDK1500, otherwise, you will get the error "Could not load code page for requested charset".

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.

Driver

iAnywhere Solutions 10 - 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, Vista, Windows x64.

Linux

Redhat Enterprise Linux 4, 5
SuSE 9.1, 10, SuSE Enterprise Linux 10

Solaris

8, 9, 10

AIX

5.2, 5.3

Workarounds applied by MobiLink

None

Other required workarounds

None

Pros

All tests pass.

Cons

None

Notes

Before using this driver, you must install Oracle 9i or higher (instance) client. To load this driver, you must set Oracle client libraries in your LD_LIBRARY_PATH (Linux, Solaris) or LIBPATH (AIX).

SID on Windows DSN setting and in Linux and Unix .odbc.ini are Oracle TNS service name defined in $ORACLE_HOME/network/admin/tnsnames.ora

The default setting of "Procedure return results" on Windows or ProcResults on Linux and Unix is no.

If you are using a stored procedure that returns a REF CURSOR, the REF CURSOR parameter (either OUT or IN OUT) must be defined as the last parameter in the parameter list of the stored procedure.

 

Driver

iAnywhere Solutions 10 - Oracle Wire Protocol ODBC Driver
DataDirect Oracle Wire Protocol ODBC Driver

Version

5.10.0124(B0080,U0044) (Win32), 5.10.0124(B0080,U0044)( Linux ), 5.10.0124(B0080,U0044)( Solaris ), 5.10.0124(B0080,U0044)( AIX )
**** this driver is deprecated ****

Status

Recommended for use with MobiLink -- This driver must be purchased from DataDirect

Client s/w

None

OS

Windows

2000, XP, 2003( 32 bit), Vista.

Linux

Redhat Enterprise Linux 4.0
SuSE Linux Enterprise 9.1, 10

Solaris

8, 9, 10

AIX

5.2, 5.3

Workarounds applied by MobiLink

None

Other required workarounds

None

Pros

All tests pass

Cons

None

Notes

This driver is deprecated. We suggest to use iAnywhere Solutions 10 - Oracle ODBC Driver.

The file name of the driver is wqora21.xxx, where xxx refers to dll or so.

This driver supports Oracle 9i and Oracle 10g, including RAC feature.

When setting up the DSN, on Win32, don't set "Enable Static Cursors for Long Data"; on Unix, don't set EnableStaticCursorsForLongData=1, since that will adversely affect MobiLink performance. "Application Using Threads" should always be enabled on Win32. The equivalent option "ApplicationUsingThreads=1" should be set on Unix.

Enable "Procedure Returns Results" on Win32 or set "ProcedureRetResults=1" on Unix if you want stored procedures to return result sets.

On Unix, EnableScrollableCursor=1 should be set, otherwise, it will fail to unlock the driver.

Microsoft SQL Server 2005, 2000

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 2005

SQL Server 2000

SQL Server 2005

Driver

Microsoft SQL Native Client ODBC Driver

Version

2005.90.2047.00

Status

Recommended for use with MobiLink.

Client s/w

None

OS

Win32

Workarounds applied by MobiLink

-hwe+j+f+

Other required workarounds

None

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.

For SQL Server, using the ODBC convention for calling stored procedures:
    { call MyMSSProc(?, ?, ? ) }
may cause problems. Please use the native calling convention instead:
    exec MyMSSProc ?, ?, ?

SQL Server 2000

Driver

Microsoft SQL Server ODBC Driver

Version

2000.85.1117.00

Status

Recommended for use with MobiLink.

Client s/w

None

OS

Win32

Workarounds applied by MobiLink

-hwe+j+

Other required workarounds

None

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.

For SQL Server 2000, the driver has problems with the ODBC convention for calling stored procedures:
    { call MyMSSProc(?, ?, ? ) }
You should instead use the native calling convention:
    exec MyMSSProc ?, ?, ?

IBM DB2

Important:

DB2 UDB 9.1

DB2 UDB 8.x

DB2 UDB 9.1

Driver

IBM DB2 ODBC Driver

Version

9.01.00.356( Win32), 9.01.0000( Linux, Solaris, AIX )

Status

Recommended for use with MobiLink.

Client s/w

DB2 UDB Client 9.1

OS

Windows

200x, XP, Vista.

Linux

Redhat Enterprise Linux 4, 5
SuSE Enterprise Linux 9, 10

Solaris

9 with patches 111711-12 and 111712-12, 10

AIX

5.2, 5.3

Workarounds applied by MobiLink

-hwh+

Other required workarounds

None

Pros

All 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

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 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.

The CHR() function of DB2 UDB 9.1 changes 0x00 to 0x20.

The DB2 ODBC driver, version 9.01.200.98 from FixPak2 is recommended for Windowns 2008 Server.

DB2 UDB 8.x

Driver

IBM DB2 UDB ODBC Driver

Version

8.01.11.973(Win32), 8.02.0000(Linux, Solaris, AIX)

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, Vista.

Linux

Redhat Enterprise Linux 4
SuSE 9.1, 10

Solaris

8, 9, 10

AIX

5.2, 5.3

Workarounds applied by MobiLink

-hwh+

Other required workarounds

None

Pros

Passes all tests

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

For OS support, please refer to http://www-1.ibm.com/support/docview.wss?rs=71&context=SSEPGG&uid=swg27009527 (This link may be changed by IBM).

On Linux, Solaris, AIX, you need to source db2profile to export DB2 environment variables. db2profile is in your DB2 install home directory.

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.



Back to Top
© Copyright 2010, Sybase Inc.