ヘッダーをスキップ
Oracle TimesTen In-Memory Database C開発者およびリファレンス・ガイド
リリース7.0
E05164-03
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

XA関数の使用

この項では、TimesTen XA関数の使用に関するいくつかの問題について説明します。独自のトランザクション・マネージャを作成する場合に必要となる情報です。Tuxedoユーザーはこの項をスキップし、「TimesTen XAを使用するためのTuxedoの構成」に示す手順を直接参照することができます。

xa_open()

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_close()で使用されるxa_info文字列は、空である必要があります。

トランザクションID(XID)パラメータ

XAでは、トランザクションID(XID)を使用してグローバル・トランザクションを一意に識別します。 XIDは、トランザクションを処理するXA関数に必要なパラメータです。内部的に、TimesTenはXIDを独自のトランザクション識別子にマップします。.


注意: XA標準で定義されたXIDには、long型として定義されたメンバー(formatIDgtrid_lengthbqual_lengthなど)があります。これによって、32ビットのクライアント・アプリケーションで64ビットのサーバーに接続する場合またはその逆の場合に問題が発生します。これは、longが、32ビットのプラットフォームでは32ビットの整数になり、64ビットのプラットフォーム(64ビットのWindowsを除く)では64ビットの整数となるためです。したがって、TimesTenは、クライアントまたはサーバーのプラットフォームのタイプに関係なく、これらのXIDメンバーの最小有効32ビットのみを内部的に使用します。TimesTenでは、32ビットの整数に適合しないXIDメンバーの値はサポートされません。