- - PR -
connectionがUserTransactionに結びつかない。
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-02-03 22:56
instjdbc.sqlの配置場所を変えたらコマンドは正常に動作しました。
ですが、現象は変わりありません。 まだほかに作業が必要なのでしょうか? |
|
投稿日時: 2005-02-03 23:53
こんにちは。
http://edocs.beasys.co.jp/e-docs/wls/docs81/jdbc_drivers/mssqlserver.html#1056938 にこんなことが書いてありましたが、実行しましたか? # Microsoft SQL Server データベースの DTC (distributed transaction coordinator) サービスを開始します。 # Microsoft SQL Server Enterprise Manager を使用して、データベース サーバで SQL Server ログインを作成します。次のロールを使用して、新しいログインにサーバ上のデータベースへのアクセス権を付与します。 * public * db_owner * db_accessadmin * db_securityadmin * db_ddladmin * db_datareader * db_datawriter 新しいユーザーを作るかどうかは別にして、JavaからアクセスするためのSQLサーバーのユーザーに、上記のロールを与える、という意味だと思いますが。 |
|
投稿日時: 2005-02-04 13:33
こんにちは。
レスありがとうございます。 instjdbc.sqlを実行しロールも追加しました。 tomcatでは現象は変化がなかったのですが(JTA使用でcommitもrollbackもできない)、 jbossでは、userTransactionを作成後に connectionのsetAutoCommit()を呼び出すとのエラーが発生し以下のメッセージを出力しました。 「You cannot set autocommit during a managed transaction!」 トランザクションが管理されているので、autoCommit()を設定できないと言われているので、JTAが正常に動作している事が確認できた様な気がします。 ただ、userTransactionのstatusを見ると STATUS_NOTRANSACTION:6 とSTATUS_ACTIOVE:0 にしか変化していなく、 コミットやロールバックのstatus値にならない事が気になります。 普通、コミットやロールバックしたらstatusは変化しますよね? 今まで確認した事がなかったのですが、実際はどうなのでしょうか? 確認された方居ましたら、レス頂けるとありがたいです。 |