資料の 英語版 に戻る
フェッチフェーズの警告とエラーを取得する
フェッチフェーズの警告とエラーを取得する
最終更新: 2025年3月17日
フェッチフェーズの警告およびエラーメッセージは、クエリが最初に実行された後に結果を取得する際に発生する可能性がある問題について、より詳細な情報を提供します。
これらのメッセージには、ネットワークの障害、リソース枯渇問題(スレッドやメモリの制限など)、SQL例外、リモートデータソースに起因する警告など、さまざまな潜在的な問題が含まれています。 フェッチフェーズの警告とエラーはデフォルトで有効になっていますが、 フェッチフェーズの警告とエラーの有効化と無効化 Data Virtualization で有効または無効にすることができます。
フェッチフェーズのメッセージは、警告とエラーに分類されます
警告: フェッチフェーズの警告が発生すると、結果セットとともにSQL警告メッセージが送信されます。 警告が出たにもかかわらず、クエリは依然として要求されたデータの取得を完了します。
次の例では、仮想化されたテーブル
には、サポートされていない値INF(正の無限大)とNAN(負の無限大)が含まれています。 SQLの警告メッセージには、選択された8件のレコードとフェッチフェーズの警告の最初の発生が表示されます。 その後の警告は例では表示されていません。NANINFTEST
db2 "select * from admin.,NANINFTEST". C1 C2 ----- --------------------- А +1.12300000000000E+000 B - SQL1829W The federated server received the warning message "FETCH_WARN" from the data source "DV-FMP". The associated text and tokens are "The resulting value is outside the range for the dat". SQLSTATE=01680 C - D +1.12300000000000E+000 A +1.12300000000000E+000 B - C - D +1.12300000000000E+000
エラー: フェッチフェーズでエラーが発生すると、クエリが停止し、エラーメッセージが返されます。 この時点までに取得したデータも表示されます。 クエリが停止した理由を確認するには、エラーメッセージに関連付けられているSQLの状態を確認し、 SQLSTATEメッセージでエラーコードを検索します。
次の例では、仮想化されたテーブル
のエラーコードはcomparison_test2
です。 このエラーコードは、エラー「日付時刻フィールドのオーバーフローが発生しました。例えば、日付またはタイムスタンプの算術演算の結果が、有効な日付の範囲外である場合など」に関連付けられています。22008
db2 "select date(i) from admin.comparison_test2;" 1 SQL1822N Unexpected error code "FETCH_ERROR" received from data source "DV-FMP". Associated text and tokens are "Query fetch aborted: REMOTE_SQL_STATE: 22008". SQLSTATE=560BD DB20000I The TERMINATE command completed successfully.
トピックは役に立ちましたか?
0/1000