この項では、TimesTen XA関数の使用に関するいくつかの問題について説明します。独自のトランザクション・マネージャを作成する場合に必要となる情報です。Tuxedoユーザーはこの項をスキップし、「TimesTen XAを使用するためのTuxedoの構成」に示す手順を直接参照することができます。
xa_open()で使用されるxa_info文字列は、次のようなSQLDriverConnect()で指定される文字列と同じ接続文字列である必要があります。
"DSN=DataStoreResource;UID=MyName"
XAでは、文字列の長さを256文字に制限しています(xa.hヘッダー・ファイルのMAXINFOSIZEを参照)。
xa_open()関数は、XA接続をオープンするときに、自動的にAUTOCOMMITをOFFにします。
xa_open()でオープンされている接続は、xa_close()をコールしてクローズする必要があります。
xa_close()で使用されるxa_info文字列は、空である必要があります。
XAでは、トランザクションID(XID)を使用してグローバル・トランザクションを一意に識別します。 XIDは、トランザクションを処理するXA関数に必要なパラメータです。内部的に、TimesTenはXIDを独自のトランザクション識別子にマップします。.
注意: | XA標準で定義されたXIDには、long型として定義されたメンバー(formatID 、gtrid_length 、bqual_length など)があります。これによって、32ビットのクライアント・アプリケーションで64ビットのサーバーに接続する場合またはその逆の場合に問題が発生します。これは、longが、32ビットのプラットフォームでは32ビットの整数になり、64ビットのプラットフォーム(64ビットのWindowsを除く)では64ビットの整数となるためです。したがって、TimesTenは、クライアントまたはサーバーのプラットフォームのタイプに関係なく、これらのXIDメンバーの最小有効32ビットのみを内部的に使用します。TimesTenでは、32ビットの整数に適合しないXIDメンバーの値はサポートされません。 |