Windows ODBCドライバ・マネージャを介したXAサポート

XAをWindows ODBCドライバ・マネージャとともに使用する場合の問題点および手順について説明します。LinuxまたはUNIX ODBCドライバ・マネージャについては対象としていません。

ドライバ・マネージャに関する考慮が必要な問題

ODBCドライバ・マネージャを介したXAサポートには特別な処理が必要です。

次の2つの基本的な問題があります。

  • XAインタフェースは、定義済のODBCインタフェースには含まれていません。アプリケーションでXA記号が直接参照される場合は、すべての外部参照を解決するために、ドライバ・マネージャ・ライブラリのみとリンクすることはできません。

  • 設計では、SQLConnectまたはSQLDriverConnectをコールすると、接続時にドライバ・マネージャがロードするドライバ.dllファイルを決定します。XAは、xa_open()を介して接続をオープンする必要があることを命令します。ただし、接続処理中に.dllがロードされるまで、適切なxa_open()エントリ・ポイントを指定することはできません。

基本的に各XAの実装は独自のものであるため、通常、データベースの移植性というドライバ・マネージャの目的はここでは適用できないことに注意してください。ドライバ・マネージャでXA対応のアプリケーションをサポートする主な利点は、TimesTen固有のアプリケーションをTimesTenの直接ドライバまたはTimesTenのクライアント/サーバー・ドライバを使用して透過的に実行できるようになることです。

TimesTen ODBC XAドライバ・マネージャの拡張ライブラリへのリンク

Windowsインストールでは、TimesTenによってXA関数用に、ドライバ・マネージャの拡張ライブラリttxadm221.dllが提供されます。アプリケーションは、XAを直接コールすることができますが、拡張ライブラリにリンクする必要があります。

ttxadm221.dllライブラリとリンクするには、アプリケーションで、それらのリンク行でodbc32.libの前にttxadm221.libを含める必要があります。例:

# Link with the ODBC driver manager
appldm.exe:appl.obj
       $(CC) /Feappldm.exe appl.obj ttxadm221.lib odbc32.lib