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