ページの先頭行へ戻る
Symfoware Server V11.1.0 トラブルシューティング集
FUJITSU Software

2.1.2 運用時の異常

運用時に発生したトラブルの事例、およびその対処方法について説明します。

クライアントの画面で、メッセージ 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ドライバ編)”の“アプリケーションのチューニング”を参照してください。

ポイント

動的SQLの「SQL文識別子」を利用した場合とRDA接続の場合について
動的SQLでSQL文識別子を利用した場合、SQL文識別子は、トランザクションとは関係なく“DEALLOCATE PREPARE文”実行時に解放されます。したがって、SQLの数はSQL文識別子の数となります。
つまり、「SQL文識別子数=<MAX_SQL値」である必要があります。
ただし、RDA接続時に設定できるMAX_SQLの上限値は32です。
RDA接続時に同一トランザクション内で同時に操作するSQL文の数が32個を超えた場合には、“RDA2019:使用できるカーソル数の制限値を超えています”というエラーになります。

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文を実行します。

  1. “SELECT X FROM TABLE_XYZ WHERE Y=1111”の結果を、変数“MM”に取り込みます。

  2. “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 2.0/.NET Framework 3.0/.NET Framework 3.5)、CLR4.0(.NET Framework 4)およびCLR4.5(.NET Framework 4.5)の3つのグループに分けることができます。これらの3つのグループには包含関係はありません。また、CLR4.0とCLR4.5は共存関係にはありません。

エラーの原因として、以下のいずれかが考えられます。

  1. Symfoware .NET Data Provider機能が登録されていない。

    .NET Frameworkのインストール状態により、Symfoware .NET Data Provider機能の登録が必要な場合があります。以下を確認してください。

    • CLR2.0、CLR4.0、CLR4.5がいずれもSymfoware Server クライアント機能より前にインストール

      Symfoware .NET Data Provider機能の登録は不要です。

    • CLR2.0のみSymfoware Server クライアント機能より前にインストール

      CLR4.0またはCLR4.5の機能を利用する場合に、Symfoware .NET Data Provider機能の登録が必要です。

    • CLR4.0またはCLR4.5がSymfoware Server クライアント機能より前にインストール

      CLR2.0の機能を利用する場合に、Symfoware .NET Data Provider機能の登録が必要です。

    • CLR2.0、CLR4.0、CLR4.5がいずれもSymfoware Server クライアント機能より後にインストール

      CLR2.0、CLR4.0、CLR4.5の機能を利用する場合に、Symfoware .NET Data Provider機能の登録が必要です。

  2. インストールした.NET Frameworkのグループ以外のグループをコンパイルオプションに指定して、Symfoware .NET Data Providerのアプリケーションを実行する。

【対処方法】

以下の対処を実施してください。

a.の対処

Symfoware .NET Data Provider機能の登録が必要な場合は、登録作業を実施してください。

参照

詳細については、以下のマニュアルを参照してください。

  • “インストールガイド(クライアント編)”の“コマンドによるSymfoware .NET Data Provider機能の登録”

b.の対処

インストールした.NET Frameworkのグループをコンパイルオプションに指定し、Symfoware .NET Data Providerのアプリケーションをリコンパイルしてください。