SQL Anywhere 11.0.1 Mobile Link の推奨 ODBC ドライバ
Mobile Link サーバは、ODBC 3.5 規格を使用して複数のタイプの統合データベースに接続します。 サポートされている一部の統合データベース・タイプでは、専用の iAnywhere Solutions ODBC ドライバを使用する必要があります。その他の統合データベース・タイプについては、データベース・ベンダが供給するドライバの使用をおすすめします。iAnywhere Solutions ODBC ドライバおよび Mobile Link サーバは、SQL Anywhere 11 製品に付属しています。 iAnywhere Solutions からODBC ドライバが提供されていない場合は、別のベンダが提供する ODBC ドライバを使用してください。他のベンダの ODBC ドライバでは、Mobile Link サーバに必要なオプションの ODBC 機能が一部サポートされない場合があります。
ドライバのテスト
弊社では、Mobile Link での ODBC ドライバのテストとして 2 つのタイプを使用します。
最初のタイプのテストは、同期化機能を用いた包括的なリグレッションテストです。いくつかの特定のリグレッションテストに失敗しても、失敗した機能に同期化が依存していないかぎり、そのドライバは引き続き適切である可能性があります。たとえば、失敗した唯一の回帰テストが LONG BINARY データの同期化を対象としている場合は、Mobile Link を使用して LONG BINARY データを同期化していなければ、そのドライバは引き続き適切である可能性があります。
2 番目のタイプのテストは高負荷テストであり、マルチプロセッサ・コンピュータで実行されている Mobile Link サーバと同時に同期している多数のクライアントを含みます。他のベンダのドライバの中には、複数の同時接続で失敗したり、複数のプロセッサの動作中に高負荷の状況下で失敗するものがあることがわかっています。
推奨ドライバ
テストの結果として、バージョン 11.0.1 の Mobile Link サーバでは次の ODBC ドライバの使用をおすすめします。
旧バージョンの Mobile Link で問題が発生している場合は、新しいバージョンへのアップグレードを検討してください。旧バージョンはサポート対象外になっている可能性があります。詳細については、こちらを参照してください。
後続の各セクションでは、さまざまなタイプの統合データベースに対する推奨 ODBC ドライバを示します。一部のケースでは、代替ドライバも示してあります。下記の統合 DBMS タイプのいずれかをクリックすると、そのタイプの DBMS で Mobile Link を使用する場合の推奨ドライバ情報が表示されます
Sybase Adaptive Server Enterprise 12.5 and 15.0
Microsoft SQL Server 2005 and 2008
統合データベースの詳細については、こちらを参照してください。
SQL Anywhere (SA) 11
ドライバ | SQL Anywhere 11.0 | |
バージョン | 11.0.1 | |
ステータス | Mobile Linkでの使用を推奨します | |
クライアントソフト | なし | |
OS | Windows | 200x, XP, Vista |
Linux | Redhat Enterprise Linux 4, 5 SuSE 10, SuSE Enterprise Linux 9, 10 kernel/glibcのバージョンが SA Linux サポートマトリックスに記載された範囲はサポート |
|
Solaris | 8, 9, 10 | |
プラス面 | 全てのテストにパス | |
マイナス面 | なし | |
備考 | なし |
Sybase Adaptive Server Enterprise 12.5, 15.0
ドライバ | Sybase Adaptive Server Enterprise ODBC driver | |
バージョン | 15.0.0.335 (Win32, 64) および 15.0.0.335 (Linux32, 64) – これらのドライバは、ASE 15.0 SDK ESD#16 より使用可能です。 | |
ステータス | 警告付きでMobile Linkでの使用を推奨します | |
クライアントソフト | なし | |
OS | Windows | 200x, XP, Vista |
Linux | Redhat Enterprise Linux 4, 5 SuSE 10 |
|
プラス面 | 全てのテストにパス | |
マイナス面 |
|
|
備考 |
|
Oracle 10g and 11g
Oracle 10g
ドライバ | iAnywhere Solutions 11 – Oracle ODBC ドライバ |
|
バージョン | 11.00.01 | |
ステータス | Mobile Linkでの使用を推奨します | |
クライアントソフト | Oracle 10g client | |
OS | Windows | 200x, XP, Vista |
Linux | Redhat Enterprise Linux 4, 5 SuSE 10, SuSE Enterprise Linux 10 |
|
Solaris | 8, 9, 10 | |
AIX | 5.3, 6.1 | |
プラス面 | 全てのテストにパス | |
マイナス面 | なし | |
備考 |
|
Oracle 11g
ドライバ | iAnywhere Solutions 11 – Oracle ODBC ドライバ |
|
バージョン | 11.00.01 | |
ステータス | Mobile Linkでの使用を推奨します | |
クライアントソフト | Oracle 11g client | |
OS | Windows | 200x, XP, Vista |
Linux | Redhat Enterprise Linux 4, 5 SuSE 10, SuSE Enterprise Linux 10 |
|
Solaris | 9, 10 | |
AIX | 5.3, 6.1 | |
プラス面 | 全てのテストにパス | |
マイナス面 | なし | |
備考 |
|
Microsoft SQL Server 2005 and 2008
重要: SQL Serverのどのバージョンでも、 「SET NOCOUNT ON」を、どのストアドプロシージャーでも最初の文あるいは、ODBC経由で実行されるSQL バッチとして特定する必要があります。このオプションなしでは、「number of rows affected」メッセージが、各分の実行ごとにMobile Linkに送信されます。 比較的大きなインサート、アップデート、セレクトを文中に実行する場合には、これらのメッセージは、ネットワークのバッファーを一杯にして、データが失われたという跡もなくデータが失われてしまいます!
Microsoft SQL Server 2005
ドライバ | Microsoft SQL ネイティブクライアント ODBC ドライバー |
バージョン | 2005.90.xxxx.00 |
ステータス | Mobile Linkでの使用を推奨します |
クライアントソフト | なし |
OS | 200x, XP, Vista |
プラス面 | 全てのテストにパス |
マイナス面 | なし |
備考 | ODBC を介して実行されるストアド・プロシージャおよびバッチの先頭には、”SET NOCOUNT ON” を必ず置いてください。 |
Microsoft SQL Server 2008
ドライバ | Microsoft SQL ネイティブクライアント ODBC ドライバー |
バージョン | 2007.100.xxxx.xx |
ステータス | Mobile Linkでの使用を推奨します |
クライアントソフト | なし |
OS | 200x, XP, Vista |
プラス面 | 全てのテストにパス |
マイナス面 | なし |
備考 | ODBC を介して実行されるストアド・プロシージャおよびバッチの先頭には、”SET NOCOUNT ON” を必ず置いてください。 |
IBM DB2 8.2 および 9.5
重要:
- Mobile Linkは、Windows, Linux, Unix, z/OS (メインフレーム)版DB2のみサポートしています。DB2 AS/400はサポートしていません。
- Mobile Link同期に使用されるDB2 Java ストアドプロシージャーは、常に、すぐにOFFに自動コミットします。 例えば getConnection.setAutoCommit(false)を使用するなど。
IBM DB2 8.2
ドライバ | IBM DB2 ODBC ドライバー | |
バージョン | 8.01.17.644 (Win32, 64), 8.02.0009 (Linux32, 64)。これらのドライバは、DB2 FixPack 17から入手可能です。 | |
ステータス | Mobile Linkでの使用を推奨します | |
クライアントソフト | DB2 UDB Client 8.2 | |
OS | Windows | 200x, XP, Vista |
Linux | Redhat Enterprise Linux 4, 5 SuSE Enterprise Linux 9, 10 |
|
Solaris | 8, 9, 10 | |
AIX | 5.3, 6.1 | |
プラス面 | 全てのテストにパス | |
マイナス面 | なし | |
備考 | サポートOSについては http://www-306.ibm.com/software/data/db2/9/sysreqs.html (このリンクはIBM社によって変更される場合があります)を参照して下さい。
Solarisでは、IBM DB2 ODBC ドライバーは、特定のレベルのOSパッチが必要な場合があります。詳細については、IBM Web サイトをご確認ください。 Linux、Solaris、AIX では、db2profileを入手して DB2 環境変数をエクスポートする必要があります。db2profileは、DB2 インストールのホーム・ディレクトリにあります。 高負荷テストには、LOCKLISTおよびAPPLHEAPSZという 2 つのデータベース設定パラメータを変更する必要があります。LOCKLISTは500、APPLHEAPSZは 1024 に設定してください。 Linux、Solaris、AIX,では、64-bit Mobile Link サーバーと他のODBC ドライバーは、SQLLEN (ODBC データタイプ) を64-bit インテジャーとして定義します。しかし、DB2 ODBC ドライバーversion 8.02.0009 for UNIXは、SQLLEN を32-bit インテジャーとして定義します。DSN for DB2 on UNIX に以下のエントリが含まれる場合には、この違いは、iAnywhere ODBC ドライバーfor UNIXでハンドルします。 |
IBM DB2 9.5
ドライバ | IBM DB2 ODBC ドライバー | |
バージョン | 9.05.201.346 (Win32, 64), 9.05.0002 (Linux32, 64). Tこれらのドライバは、DB2 FixPack 2aから入手可能です。 | |
ステータス | Mobile Linkでの使用を推奨します | |
クライアントソフト | DB2 UDB Client 9.5 | |
OS | Windows | 200x, XP, Vista |
Linux | Redhat Enterprise Linux 4, 5 SuSE Enterprise Linux 9, 10 |
|
Solaris | 9, 10 | |
AIX | 5.3, 6.1 | |
プラス面 | 全てのテストにパス | |
マイナス面 | なし | |
備考 | サポートOSについては http://www-306.ibm.com/software/data/db2/9/sysreqs.html (このリンクはIBM社によって変更される場合があります)を参照して下さい。
Solarisでは、IBM DB2 ODBC ドライバーは、特定のレベルのOSパッチが必要な場合があります。詳細については、IBM Web サイトをご確認ください。 Linux、Solaris、AIX では、db2profileを入手して DB2 環境変数をエクスポートする必要があります。db2profileは、DB2 インストールのホーム・ディレクトリにあります。 高負荷テストには、LOCKLISTおよびAPPLHEAPSZという 2 つのデータベース設定パラメータを変更する必要があります。LOCKLISTは500、APPLHEAPSZは 1024 に設定してください。 |
MySQL 5.1
ドライバ | MySQL ODBC ドライバー | |
バージョン | 5.01.05 (Win32, 64) and 5.01.05 (Linux32, 64). | |
ステータス | Mobile Linkでの使用を推奨します | |
クライアントソフト | None | |
OS | Windows | 200x, XP, Vista |
Linux | Redhat Enterprise Linux 4, 5 SuSE 10, SuSE Enterprise Linux 9, 10 |
|
プラス面 | 全てのテストにパス | |
マイナス面 | なし | |
備考 | 1) ストレージエンジン:
MySQL は、MySQL サーバーの中にストレージエンジン一式を備えていますが、ストレージエンジンは、ACID 準拠のものもあれば、準拠でないものもあります。Mobile Link サーバーにはACID準拠のストレージエンジンが必要です。例えば、InnoDB, Falconなどです。デフォルトのストレージエンジンがACID準拠のものであることを確認してください。 デフォルトのストレージエンジンがACID準拠のものでない場合、 全てのall the MobiLink サーバーのシステム・テーブルが、ACID準拠のストレージエンジンを使用して生成されていることを確認してください。 2) ストアドプロシージャー: MySQL ODBC ドライバーは、ストアドプロシージャーの呼び出しのinout やout パラメーターをサポートしていません。そのため、inoutのパラメーターが必要なプロシージャーは、全て、out valueを返す機能として書かれている必要があります。 Mobile Linkサーバーのinout パラメーターを必要とするイベントは、例えば、authenticate_user, handle_error, modify_userなどは、セレクト文を使用して実行される機能として搭載されている必要があります。例えば: Mobile Linkサーバーのスクリプトがネームドパラメーターを使用する場合には、スクリプトの実行後は、パラメーターは変更されません。 3) カーソルスクリプト: upload_fetch, download_cursor, download_delete_cursor のイベントは、セレクト文として書かれている場合があります。Mobile Linkサーバーは、セレクト文の実行には、リードコミット アイソレーションレベルを使用します。しかしながら、リードコミット アイソレーションでは、 MySQL ODBCドライバーは、 driver may allow the Mobile Linkサーバーがコミットしていないオペレーション(インサート、アップデート、デリート)を読むことを許してしまう場合もあります。そのため、この動作の場合には、同期データは、統合データベースとリモートデータベースで一貫しないこともあります。この問題は、MySQLへは報告済みです。 この問題のワークアラウンドとしては、全セレクト文のupload_fetch, download_cursor, download_delete_cursorイベントは「lock in share mode」文を含んでいる必要があります。例えば、download_cursorスクリプトは、これがセレクト文であれば、以下のように書かれている必要があります: 4) UNIX プラットフォーム: UNIX上のODBC設定ファイルの特定方法には2種類あります: a) ODBC.INI (ファイル名はアッパーケース)ファイルあるいは、symbolic link ODBC.INI を現在のユーザーのホームディレクトリーに置きます; UNIX プラットフォームでは、64-bit Mobile Link サーバーと他のODBC ドライバーは、SQLLEN (ODBC データタイプ) を64-bit インテジャーとして定義します。しかし、MySQL ODBCドライバーは、SQLLEN を32-bit インテジャーとして定義します。DSN for MySQL on UNIXに以下のエントリが含まれる場合には、この違いは、iAnywhere ODBC ドライバーfor UNIXでハンドルします。 UNIX上のMySQLのDNSのサンプルは 5) QAnywhere サポート: QAnywhere は、MySQL サーバー上で稼動している統合データベースはサポートしていません。 |