運用時に発生したトラブルの事例、およびその対処方法について説明します。
クライアントの画面で、メッセージ JYP2008E が出力される
クライアントの画面で、サーバから以下のメッセージが出力されることがあります。
SQL-STATE=71020 JYP2008E 同時に操作できるSQL文の数を超えました.
以下の2つの場合が考えられます。
1トランザクション内でのSQL文の実行数が動作環境ファイルでのパラメタの設定値を超えた
動的SQLでSQL文識別子を利用しており、SQL文識別子の数が動作環境ファイルでのパラメタの設定値を超えた
同時に操作可能なSQL文の数は、動作環境ファイルのパラメタ“MAX_SQL”または“CLI_MAX_SQL”で指定します。“MAX_SQL”または“CLI_MAX_SQL”の値を見直してください。なお、初期値は1024に設定されています。
参照
“MAX_SQL”の詳細は、“アプリケーション開発ガイド(埋込みSQL編)”の“クライアント用の動作環境ファイルによる定義”を参照してください。
“CLI_MAX_SQL”の詳細は、“アプリケーション開発ガイド(JDBCドライバ編)”の“ctuneparamオプションについて”、または、“アプリケーション開発ガイド(ODBCドライバ編)”の“アプリケーションのチューニング”を参照してください。
UPDATE文を実行すると、メッセージ JYP6015E が出力される
「SET=<値式>」の<値式>中に問合せ指定(SELECT文)を記述するようなUPDATE文は、Symfoware/RDBではサポートしてないため、以下のエラーが出力されます。
JYP6015E UPDATE文の設定句に副問合せが指定されました.
SELECT文の結果を一度変数に格納してから、UPDATE文を実行することで、回避してください。
“UPDATE TABLE_ABC SET A = (SELECT X FROM TABLE_XYZ WHERE Y=1111)”というSQL文を実行する代わりに、以下の手順でSQL文を実行します。
“SELECT X FROM TABLE_XYZ WHERE Y=1111”の結果を、変数“MM”に取り込みます。
“UPDATE TABLE_ABC SET A = :MM”を実行します。
Symfoware .NET Data Providerのアプリケーションを実行しようとすると、Microsoftのエラーが発生する
Symfoware .NET Data Providerのアプリケーションを実行しようとした場合に、以下のエラーが出力されることがあります。
このアプリケーションをインストールまたは実行できません。 このアプリケーションでは、まずグローバルアセンブリキャッシュ(GAC)に アセンブリFujitsu.Symfowareバージョンx.xx.x.xをインストールする 必要があります。システム管理者に問い合わせてください。
.NET Frameworkは、CLR2.0(.NET Framework 3.5 SP1)とCLR4.0(.NET Framework 4.6.2/4.7/4.7.2/4.8/4.8.1)のグループに分けることができます。これらのグループには包含関係はありません。
エラーの原因として、以下のいずれかが考えられます。
Symfoware .NET Data Provider機能が登録されていない。
.NET Frameworkのインストール状態により、Symfoware .NET Data Provider機能の登録が必要な場合があります。以下を確認してください。
CLR2.0、CLR4.0がいずれもPCクライアントより前にインストール
Symfoware .NET Data Provider機能の登録は不要です。
CLR2.0がPCクライアントより前にインストール
CLR4.0の機能を利用する場合に、Symfoware .NET Data Provider機能の登録が必要です。
CLR4.0がPCクライアントより前にインストール
CLR2.0の機能を利用する場合に、Symfoware .NET Data Provider機能の登録が必要です。
CLR2.0、CLR4.0がいずれもPCクライアントより後にインストール
CLR2.0、CLR4.0の機能を利用する場合に、Symfoware .NET Data Provider機能の登録が必要です。
インストールした.NET Frameworkのグループ以外のグループをコンパイルオプションに指定して、Symfoware .NET Data Providerのアプリケーションを実行する。
以下の対処を実施してください。
Symfoware .NET Data Provider機能の登録が必要な場合は、登録作業を実施してください。
参照
詳細については、以下のマニュアルを参照してください。
“インストールガイド(クライアント編)”の“コマンドによるSymfoware .NET Data Provider機能の登録”
インストールした.NET Frameworkのグループをコンパイルオプションに指定し、Symfoware .NET Data Providerのアプリケーションをリコンパイルしてください。
アプリケーションの多重度を増やすと、メッセージ JYP1080U、JYP4980EまたはJYP5007E が出力される
OSのシステム制限により、以下のメッセージが出力されることがあります。
JYP1080U コード変換ライブラリがロードできません.errno:“4” JYP4980E コード変換環境の設定に誤りがあります. JYP5007E RDBIIサーバ空間内のメモリ不足が発生しました.
クライアント用の動作環境ファイルのパラメタ“CHARACTER_TRANSLATE”または“CLI_CHARACTER_TRANSLATE”で、文字コードの変換をクライアントで行うように設定してください。
上記の対処を実施しても改善しない場合は、アプリケーションの多重度を減らしてください。
参照
“CHARACTER_TRANSLATE”の詳細は、“アプリケーション開発ガイド(埋込みSQL編)”の“クライアント用の動作環境ファイルによる定義”を参照してください。
“CLI_CHARACTER_TRANSLATE”の詳細は、“アプリケーション開発ガイド(JDBCドライバ編)”の“ctuneparamオプションについて”、または、“アプリケーション開発ガイド(ODBCドライバ編)”の“アプリケーションのチューニング”を参照してください。