ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(データベース連携サービス編)

G.6.2 アプリケーションの作成

  ODBCのAPIおよびAPIを用いたアプリケーションの開発の詳細については、ODBC関連のリファレンスガイドを参照してください。
  データベース連携サービスは、X/OPEN準拠のグローバルトランザクション処理を行います。そのため、リソースに対するステートメントを実行する前に、SQLSetConnectOptionで接続オプションとしてSQL_COPT_SS_ENLIST_IN_XAを指定します。SQL_COPT_SS_ENLIST_IN_XAは、トランザクションをODBC接続と関連付けるための指定です。
  基本的なサーバアプリケーションの例を以下に示します。

HENV            gHenv = SQL_NULL_HENV;
HDBC            ghdbc;

void MethodA(CORBA_long param1)
{
         TCHAR           SqlStatement[80*2];
         HSTMT           hstmt;
         RETCODE                 rc = 0;
         memset((void *)SqlStatement, 0x00, 80*2);

         SQLSetConnectOption (ghdbc, SQL_COPT_SS_ENLIST_IN_XA, TRUE);
         sprintf(SqlStatement,
                 "update OTSDB..OTSTBL set OTSCOL002=OTSCOL002 + 1 
                 where OTSCOL001 = %d",param1);

         SQLAllocStmt(ghdbc, &hstmt);
         SQLExecDirect(hstmt,(UCHAR *)SqlStatement,SQL_NTS);
         SQLFreeStmt(hstmt, SQL_DROP);

         return;
}

int
main()
{
                 :

         rc = SQLAllocEnv(&gHenv);
         rc = SQLAllocConnect(gHenv, &ghdbc);
         rc = SQLConnect(ghdbc, "LocalServer", SQL_NTS, "abc", SQL_NTS, "efg", SQL_NTS);

         CORBA_BOA_impl_is_ready( boa, impl, &env_g );

         rc = SQLDisconnect(ghdbc);
         rc = SQLFreeConnect(ghdbc);
         rc = SQLFreeEnv(gHenv);

         OTS_term( ots, &env_g );

         return 0;
}