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

付録G SQL Serverとの連携

G.5 サーバアプリケーションの作成(DB-Libraryの使用)

 グローバルトランザクション連携を行うには、SQL文の実行の前にdbenlistxatrans()を実行します。これにより、トランザクションがデータベース連携サービスによってXA配下に参加します。

method A{
dbenlistxatrans()             /* XA配下であることを示す */
dbsqlexec()                 /* SQLの実行               */
  }

 以下に、基本的なサーバアプリケーションの例を示します。

DBPROCESS*dbproc_server1;
LOGINREC*login;

void
MethodA(CORBA_long param1)
{
  TCHAR  SqlStatement[STR_LEN*2];
  /* XA配下のトランザクションである
  dbenlistxatrans(dbproc_server1, TRUE);

  /* SQL文の作成 */
  sprintf(SqlStatement,
    "update DOGDB..DOGTBL set DOGCOL002=DOGCOL002 + 1 where DOGCOL001 = %d",param1);

  /* SQL文の送信 */
  dbcmd(dbproc_server1, SqlStatement);

  dbsqlexec(dbproc_server1);
  dbresults(dbproc_server1);

}

int main()
{
        :  /*
        :   * CORBA_ORB_initなど準備処理
        :   */
  login = dblogin();
  DBSETLUSER(login, "monkey");
  DBSETLPWD(login,  "saru");
  DBSETLAPP(login, "example");

  dbproc_server1 = dbopen(login, "TIGER");
  dbuse(dbproc_server1, "DOGDB");
  CORBA_BOA_impl_is_ready( boa, impl, &env_g );
  dbexit();
    
  return 0;

}

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

Copyright 2008 FUJITSU LIMITED