SQL Anywhere Studio 9.0.2 Mobile Link の推奨 ODBC ドライバ
Mobile Link サーバは、ODBC 3.5 規格を使用して複数のタイプの統合データベースに接続します。サポートされている一部の統合データベース・タイプでは、専用の iAnywhere Solutions ODBC ドライバを使用する必要があります。その他の統合データベース・タイプについては、データベース・ ベンダが供給するドライバの使用をおすすめします。iAnywhere Solutions ODBC ドライバおよび Mobile Link サーバは、 SQL Anywhere 製品に付属しています。iAnywhere Solutions に ODBC ドライバが用意されていない場合は、別のベンダが提供する ODBC ドライバを使用してください。他のベンダの ODBC ドライバでは、Mobile Link サーバに必要なオプションの ODBC 機能が一部 サポートされない場合があります。
一部の ODBC ドライバは、ドライバの問い合わせでは検出できない動作を備えています。これらのドライバについては、弊社がドライバのテスト を行って、実行可能な対処法を判断します。また、ドライバに必要な一連の対処法を特定した後には、そのバージョンのドライバを 認識できるように Mobile Link サーバを更新します。更新の結果、Mobile Link サーバは、ドライバに必要な一連の対処法を自動 的に適用するようになります。
一部の ODBC ドライバについては、すべての問題に対して実行可能な対処法を策定できません。これらのケースでは、欠けているドライバ機能が 同期化に必要なければ、引き続きドライバを使用できます。
テストを容易化し、認識されないドライバへの対処法を Mobile Link が適用できるように、この対処法は、マニュアルに記載され ていない -hw コマンドライン・スイッチで設定できるようになっています。対処法をむやみに使用するとデータの破損や ソフトウェアのエラーにつながる可能性があるため、このスイッチと関連の対処法はマニュアルに記載されていません。
対処法の特定後は、関連する隠れた対処法スイッチを新バージョンの Mobile Link に自動的に適用させることができます。したが って、隠れた対処法を直接使用した場合、新しいバージョンの Mobile Link サーバではそれらの対処法が不要になる可能性があり ます。新しい Mobile Link で隠しスイッチを引き続き使用すると、問題が発生したり、パフォーマンスが低下する可能性がありま す。
ドライバのテスト
弊社では、Mobile Link での ODBC ドライバのテストとして 2 つのタイプを使用します。
最初のタイプのテストは、同期化機能を働かせる包括的な回帰テストです。いくつかの特定の回帰テストに失敗しても、失敗した 機能に同期化が依存していないかぎり、そのドライバは引き続き適切である可能性があります。たとえば、失敗した唯一の回帰テ ストが LONG BINARY データの同期化を対象としている場合は、Mobile Link を使用して LONG BINARY データを同期化していなけ れば、そのドライバは引き続き適切である可能性があります。
2 番目のタイプのテストは高負荷テストであり、マルチプロセッサ・コンピュータで実行されている Mobile Link サーバと同時 に同期している多数のクライアントを含みます。他のベンダのドライバの中には、複数の同時接続で失敗したり、複数のプロセッ サの動作中に高負荷の状況下で失敗するものがあることがわかっています。
推奨ドライバ
テストの結果として、バージョン 9.0.2 の Mobile Link サーバでは次の ODBC ドライバの使用をおすすめします。
旧バージョンの Mobile Link で問題が発生している場合は、新しいバージョンへのアップグレードを検討してください。旧バージ ョンはサポート対象外になっている可能性があります。詳細については、 http://www.ianywhere.jp/sas/os.htmlを参照してください。
後続の各セクションでは、さまざまなタイプの統合データベースに対する推奨 ODBC ドライバを示します。一部のケースでは、代 替ドライバも示してあります。下記の統合 DBMS タイプのいずれかをクリックすると、そのタイプの DBMS で Mobile Link を使 用する場合の推奨ドライバ情報が表示されます。
Sybase Adaptive Server Anywhere (ASA)
Sybase Adaptive Server Enterprise (ASE)
Microsoft SQL Server 2000, 2005
Sybase Adaptive Server Anywhere (ASA)
ドライバ | Adaptive Server Anywhere 9.0 | |
バージョン | 9.0.2 | |
ステータス | Mobile Linkでの使用を推奨します | |
クライアントSW | なし | |
OS | Windows | NT4.0, 2000, XP, 2003( 32 bit), 95, 98, Me. |
Linux | Redhat 9.0; AS 2.1, 3.0, 4 SuSE 9.2, 9.3 Caldera 3.1 TurboLinux 10 kernel/glibc バージョンが SA Linux サポート表で指定された範囲内の場合にサポートされます。 |
|
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 | |
Mobile Linkによって適用される対処法 | -hwc+o+ | |
他の必要な対処法 | なし | |
プラス面 | すべてのMLRにパス すべてのMLBにパス |
|
マイナス面 | なし | |
備考 | ASA 付属の ODBC ライバについては、すべての MLR テストに合格しています。また、MLB テストでは、マルチプロセッサ・コンピュータで稼働す る Mobile Link サーバを介した複数クライアントの同時同期についても問題がないことがわかっています。 |
Sybase Adaptive Server Enterprise (ASE)
ドライバ | iAnywhere Solutions 9 – Sybase ASE ODBC ドライバ DataDirect Sybase Wire Protocol ODBC ドライバ |
|
バージョン | 4.20.0063(B0061,U0057)(Win32) ,4.20.0106(B0086,U0070)( Linux ), 4.20.0099(B0080,U0069)( Solaris ), 4.20.0092(B0079, U0069)( AIX ) | |
ステータス | Mobile Linkでの使用を推奨します | |
クライアントSW | なし | |
OS | Windows | NT4.0, 2000, XP, 2003( 32 bit), 98, Me. |
Linux | Redhat 7.1, 7.2, 7.3, 8.0, 9.0; AS 3.0 SuSE 7.3, 8.1, 8.2 Caldera 3.1 |
|
Solaris | 7, 8, 9 | |
AIX | 4.3.3, 5.1, 5.2 | |
Mobile Linkによって適用される対処法 | -hwf+i+j+t+v+w+A+ | |
他の必要な対処法 | なし | |
プラス面 | すべてのMLRにパス すべてのMLBにパス |
|
マイナス面 | なし | |
備考 | このドライバのファイル名はwqase19.xxxです(xxx は dll、so、sl のいずれか)。
Win32 で DSN を設定する際、[Enable Describe Parameter] オプションを選択し、[Performance]タブの[Prepare Method]オプションを“2-Full” に設定します。AIX の場合、[OptimizePrepare=2]オプションを設定し、それ以外のオプションはデフォルト値のままにします。[OptimizePrepare=3]や[SelectMethod=1]を設定すると、ASEサーバでブロッキングが発生する可能性があります。 |
Oracle 8, 8i, 9i, 10g
Oracle の ODBC ドライバはおすすめしません。弊社でテストした Oracle の ODBC ドライバは、すべてマルチスレッドの問題を抱えています。代わりに、次のいずれかのドライバを使用してください。
Microsoft SQL Server 2000, 2005
重要:どのバージョンの SQL Server であっても、ODBC を介して実行されるストアド・プロシージャまたは SQL バッチでは、” SET NOCOUNT ON” を最初の文として指定する必要があります。このオプションを使用しなければ、各文を実行するたびに “number of rows affected (影響を受けたローの数)” というメッセージが Mobile Link へ送られます。文への挿入、更新、選択を比較的多く行っている場合は、ネットワーク・ バッファがこれらのメッセージで一杯になり、その結果、警告なしにデータが失われる可能性があります。
SQL Server 2000
ドライバ | Microsoft SQL Server ODBC ドライバ |
バージョン | 2000.81.9030.04 (for SQL Server 2000, Win32) 2000.85.1022 (for SQL Server 2000, Win64) |
ステータス | Mobile Linkでの使用を推奨します |
クライアントSW | なし |
OS | Win32, Win64 |
Mobile Linkによって適用される対処法 | -hwq+e+C+ |
他の必要な対処法 | なし |
プラス面 | すべてのパフォーマンス・テストにパス すべてのリグレッション・テストにパス |
マイナス面 | なし |
備考 | ODBC を介して実行されるストアド・プロシージャおよびバッチの先頭には、”SET NOCOUNT ON” を必ず置いてください。
SQL Server の場合は、次の ODBC 規則を使用してストアド・プロシージャを呼び出すと、問題が発生する可能性があります。 |
SQL Server 2005
ドライバ | Microsoft SQL Native Client ODBC ドライバ |
バージョン | 2005.90.1399.00 |
ステータス | Mobile Linkでの使用を推奨します |
クライアントSW | なし |
OS | Win32 |
Mobile Linkによって適用される対処法 | -hwq+e+C+ |
他の必要な対処法 | なし |
プラス面 | すべてのパフォーマンス・テストにパス すべてのリグレッション・テストにパス |
マイナス面 | なし |
備考 | ODBC を介して実行されるストアド・プロシージャおよびバッチの先頭には、”SET NOCOUNT ON” を必ず置いてください。
SQL Server の場合は、次の ODBC 規則を使用してストアド・プロシージャを呼び出すと、問題が発生する可能性があります。 |
IBM DB2
重要:
- Mobile Link では、Windows、Linux、Unix 上の DB2 のみがサポートされます。DB2 AS/400 および DB2 メインフレームはサポートされません。
- Sybase iAnywhere DB2 ODBC ドライバの [Dynamic Sections] オプションの重要性を参照して下さい。
- Mobile Link 同期で使用される DB2 Java ストアド・プロシージャは、getConnection.setAutoCommit(false) などを使用して、すぐにオートコミットを OFF に設定する必要があります。
DB2 UDB 8.1
ドライバ | iAnywhere Solutions 9 – DB2 Wire Protocol ODBC Driver DataDirect DB2 Wire Protocol ODBC ドライバ |
|
バージョン | 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) | |
ステータス | Mobile Linkでの使用を推奨します | |
クライアントSW | なし | |
OS | Windows | NT4.0, 2000, XP, 2003( 32 bit), 98, Me. |
Linux | Redhat 7.1, 7.2, 7.3, 8.0, 9.0; AS 3.0 SuSE 7.3, 8.1, 8.2 Caldera 3.1 |
|
Solaris | 7, 8, 9 | |
HP-UX | 11i | |
AIX | 4.3.3, 5.1, 5.2 | |
Mobile Linkによって適用される対処法 | -hwf+n+u+A+D+ | |
他の必要な対処法 | なし | |
プラス面 | すべてのパフォーマンス・テストにパス すべてのリグレッション・テストにパス |
|
マイナス面 | なし | |
備考 | DB2 8.1GA の場合、ストアド・プロシージャを使用したローの挿入が失敗します。この問題については、EBF で修正します。DB2 8.1 Fixpak 4 においてこの問題の回避策が適用されます。
このドライバは、IBM の自社製 DB2 ODBC ドライバよりも優れたパフォーマンスです。 DB2 データ・ソースをはじめて使用する場合、事前にデータ・ソースのパッケージのバインドを成功させておく必要があります。詳細については、Mobile Link のマニュアルを参照してください。 MLB テストを行う場合、データベース設定パラメータの LOCKLIST を 500 に変更する必要があります。 DB2 UDB 8.1 の CHR() 関数は、0x00 を 0x20 に変更します。 このドライバのファイル名はwqdb219.xxxです(xxx は dll、so、sl のいずれか)。 |
ドライバ | IBM DB2 UDB ODBC ドライバ | |
バージョン | 8.01.02.169 | |
ステータス | 警告付きで Mobile Link での使用を推奨します | |
クライアントSW | DB2 UDB Client 8.01 | |
OS | Windows IA64 | |
Mobile Linkによって適用される対処法 | -hwf+h+n+u+A+ | |
他の必要な対処法 | なし | |
プラス面 | すべてのMLRにパス すべてのMLBにパス |
|
マイナス面 | “Long object binary treatment” が “AS LONGVAR data” に設定されている場合、BLOB、CLOB、LONG VARCHAR、LONG VARCHAR FOR BIT DATA テストは、すべて失敗します。常に “AS LOB data” に設定してください。 | |
備考 | このドライバはWin32と同様にWin64でも使用できます。
このドライバはカーソル・ベースのアップロードをサポートしていません。文ベースのアップロードを使用して下さい。 MLBテストを行う場合、LOCKLIST および APPLHEAPSZ という 2 つのデータベース設定パラメータを変更する必要があります。LOCKLIST は 500、APPLHEASZ は 1024 に設定してください。 DB2 UDB 8.1 の CHR() 関数は、0x00 を 0x20 に変更します。 上記はDB2 UDB 8.1 サーバのテストの結果です。DB2 UDB 7.2またはそれ以前のサーバでこのドライバを使用すると多くの制限があります。IBMのドキュメントを参照して下さい。DB2 UDB7.2またはそれ以前のサーバでこのドライバを使用しない事を推奨します。 |
DB2 UDB 7.2
ドライバ | iAnywhere Solutions 9 – DB2 Wire Protocol ODBC ドライバ DataDirect DB2 Wire Protocol ODBC ドライバ |
|
バージョン | 4.20.0134(B0086,U0070)(Linux) , 4.20.0121(B0082,U0070) (Solaris), , 4.20.0112(B0080,U0069)(AIX) | |
ステータス | 警告付きで Mobile Link での使用を推奨します | |
クライアントSW | なし | |
OS | Linux | Redhat 7.1, 7.2, 7.3, 8.0, 9.0; AS 3.0 SuSE 7.3, 8.1, 8.2 Caldera 3.1 |
Solaris | 7, 8, 9 | |
AIX | 4.3.3, 5.1, 5.2 | |
Mobile Linkによって適用される対処法 | -hwf+n+u+A+D+ | |
他の必要な対処法 | なし | |
プラス面 | BLOB および 32762 よりも大きい CLOB のテストを除いて、すべての MLR テストにパスしています。 全てのMLB テストにパスしています。 |
|
マイナス面 | BLOBデータ型はサポートされていません。
このドライバは、DB2 7.2 以下のサーバに対して実行される最大 32K までの長さの CLOB データ型をサポートします。 |
|
備考 | Windows では、Mobile Link とともに IBM DB2 UDB ODBC ドライバ 7.01.00.65 を使用してください。
このドライバは、IBM 社製 DB2 ODBC ドライバよりも優れたパフォーマンスです。 DB2 データ・ソースをはじめて使用する場合、事前にデータ・ソースのパッケージのバインドを成功させておく必要があります。詳細については、Mobile Link のマニュアルを参照してください。 MLB テストを行う場合、データベース設定パラメータの LOCKLIST を 500 に変更する必要があります。 ドライバのファイル名は wqase219.xxx です(xxx は dll、so、sl のいずれか)。 |
ドライバ | IBM DB2 UDB ODBC ドライバ |
バージョン | 7.01.00.93 |
ステータス | 警告付きで Mobile Link での使用を推奨します |
クライアントSW | DB2 UDB Client 7.01.0000 with FixPak 3 and FixPak 11 or DB2 UDB Client 7.2GA with FixPak 11 |
OS | Win32 |
Mobile Linkによって適用される対処法 | -hwf+h+n+u+A+ |
他の必要な対処法 | なし |
プラス面 | 2つのBLOBテストを除き、文ベースのアップロードを使用したすべてのMLRテストにパスしています。
カーソル・ベースのアップロードを使用したほとんどのMLRテストにパスしています。 すべてのMLBテストにパスしています。 |
マイナス面 | BLOB、 CLOB、 LONG VARCHAR および LONG VARCHAR FOR BIT DATA に対するカーソル・ベースのアップロードは失敗します。
このドライバは2つ以上のBLOBカラムが原因となる不具合があり、1つ以上のBLOBカラムを持つテーブルにアップロードする場合、SQLParamDataでは「Memory allocation failed」が発生します。 |
備考 | カーソル・ベースのアップロードの代わりに、文ベースのアップロードを使用して下さい。
このドライバをインストールするには、DB2 UDBクライアントが7.01.0000の場合、最初にFixPak3をインストールし、その後FixPak7をインストールする必要があります。また、DB2 UDBクライアントが7.02.0000の場合はFixPak7のみをインストールして下さい。 MLBテストでは、LOCKLIST および APPLHEAPSZ という 2 つのデータベース設定パラメータを変更する必要があります。LOCKLIST は 500、APPLHEASZ は 1024 に設定してください。 |