トランザクション処理が正しく実行できない場合は、以下の項目をチェックしてください。
■環境変数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文字列のデータベース名が正しいかを確認します。
リソース定義ファイルのOPENINFO文字列のユーザ名/パスワードがデータベース管理者で設定されているかを確認します。
リソース定義ファイルのCLOSEINFO文字列が「NULL」であるかを確認します。
参照
リソース定義ファイルの設定方法については、「4.2 リソース定義ファイルの作成」を参照してください。
■CORBAサービスへの登録内容
リソース管理プログラムは、データベース管理者のユーザ名/グループ名を指定してotssetrscコマンドで登録されている必要があります。