Interstage Application Server アプリケーション作成ガイド (データベース連携サービス編)
目次 索引 前ページ次ページ

付録G SQL Serverとの連携> G.6 サーバアプリケーションの作成(ODBCの使用)

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;
}

目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED