トランザクション処理が正しく実行できないときは以下の項目をチェックしてください。
環境変数LANG
Symfoware/RDBを使用してデータベース連携サービスを使用する場合は、環境変数LANGを必ず日本語設定にする必要があります。以下は"ja"を利用した場合の設定例です。
%LANG=ja %export LANG
データベース環境
データベースの表に対するUPDATE権などの権限が設定されているか確認してください。以下に確認方法と設定方法を示します。詳細は“Symfoware Server RDBユーザーズガイド”を参照してください。
データベースのUPDATE権などの確認は以下の手順で行うことができます。
(1) テキストファイルに下記の情報を設定します。ここの例ではファイル名をprint.infoとします。
TABLE (SC_NAME.TABLE_NAME) SC_NAME :スキーマ名称を指定します。 TABLE_NAME:表名称を指定します。
(2) rdbprtコマンドを使用して(1)で作成したテキストファイルの情報をもとにデータベースに設定されている情報を画面に出力します。
rdbprt -d Databese_name -m DEF -f -p print.info Database_name:データベース名を指定します。
データベースの権限の設定は下記の手順で行うことができます。
(1)テキストファイルに下記の情報を設定します。ここの例ではファイル名をgrant.txtとします。
GRANT UPDATE ON SC_NAME.TABLE_NAME TO user; SC_NAME :スキーマ名称を指定します。 TABLE_NAME:表名称を指定します。 user :データベース管理者のユーザ名を指定します。
(2)rdbddlexコマンドを使用して(1)で作成したテキストファイルの情報をもとにデータベースに反映します。
rdbddlex -d Databese_name grant.txt Database_name:データベース名を指定します。
リソース定義ファイル
リソース定義ファイルのOPENINFO文字列のデータベース名が正しいか確認してください。設定方法については、“11.2 リソース定義ファイルの作成”を参照してください。
リソース定義ファイルのOPENINFO文字列のユーザ名/パスワードがデータベース管理者で設定されているか確認してください。
リソース定義ファイルのCLOSEINFO文字列がNULLであることを確認してください。設定方法については、“11.2 リソース定義ファイルの作成”を参照してください。
CORBAサービスへの登録内容
リソース管理プログラムは、データベース管理者のユーザ名とグループ名を指定してotssetrscコマンドで登録されている必要があります。