1

IBM System i(別名i5/OSまたはAS/400)をV5R4からV7R1にアップグレードした後、ODBCを使用してDB2に接続するアプリケーションの1つが、次のエラーで失敗します。

Error Code: 69899
SQLSTATE: S1000
[IBM] [System i Access ODBC Driver] [DB2 for i5/OS] PWS0005 
Error occurred in the database host server code.

症状は次のとおりです。

While / Wendループでは、CURSORが宣言されてから開き、フェッチを実行して閉じます。

いずれかの反復でカーソルが行を取得しない場合、次の反復では、カーソルを開こうとしたときに(別のSQLクエリを使用して)カーソルを宣言した後にエラーが発生します。

最初に、ODBCドライバーを利用可能な最新バージョンに更新しましたが、問題は解決しません。

緊急の解決策が必要だったので、カーソルが行を返すかどうかを事前に選択して問題を解決しました。それ以外の場合はその反復をスキップします。これで問題は解決しますが、あまり洗練された解決策ではないようです。

ホストで発生するエラーに関する詳細情報を取得する方法はありますか?

事前にどうもありがとうございました。

4

4 に答える 4

4

一般的に言えば、サーバー側のコードでエラーが発生した場合は、IBM サポートに連絡して報告する必要があります。彼らは、あなたが最新の cume を使用しているかどうか、またおそらく最新のデータベース グループ PTF を使用しているかどうかを尋ねます。

サーバーは、QZDASOINIT というジョブで ODBC 接続を実行します。システムへの接続が多いため、QZDASOINITジョブが多いと考えられます。自分のものを見つけるには、ターミナル セッションに移動してWRKOBJLCK MYPROFILE *USRPRF. ユーザー プロファイルで実行されているジョブのリストが表示されます。それらの少なくとも 1 つは、探している QZDASOINIT ジョブになります。オプション 5 を使用してジョブを確認し、次にオプション 10 を使用してジョブ ログを確認します。F10 を押して詳細メッセージを表示し、F18 を押して一番下 (最新) のエントリに移動します。

エラーが深刻で、サーバー ジョブが異常終了した場合、ユーザー プロファイルはロックされません。代わりに、 を使用して、スプールされたジョブ ログに移動しますWRKSPLF

IBM は、V5R4 以降、いくつかの SQL 内部エラーをログに記録しています。 select * from qrecovery.qsq901s;SQLCODE -901 エラーを表示します。

于 2013-02-20T14:53:25.580 に答える
0

System I Access の最新バージョン用の最新のフィックスパックがインストールされていることを確認してください。

于 2013-03-02T16:23:46.030 に答える