その他問い合わせ #3815
未完了Job Arrangerにおける「psql_err_code:42601」発生事象の調査依頼
説明
■ 事象概要
複数の特定ジョブネット実行時に、ログ上で以下のエラーが出力されます。
STD_OUT:
STD_ERR:
JOB_EXIT_CD:
JOBARG_MESSAGE:psql_err_msg:ERROR:syntax error at or nera "0"
LINE 1: ...x_internal_setup\r\nWHERE\r\n process_status = '0'\r\n ...
^
. psql_err_code: 42601
■ 前提条件(業務処理側)
対象ジョブは Job Arranger から PowerShell スクリプトを実行する構成
PowerShell スクリプトおよび下位処理では PostgreSQL(psql)は一切使用していない
利用しているDBは SQL Server(Windows環境)
従来は同一ジョブが正常に動作していた
Job Arranger のバージョン:7.2.1
■ 認識しているポイント
上記エラーコードは PostgreSQL の構文エラー(SQLSTATE:42601)に該当するものと認識しています
ただし、業務処理内では PostgreSQL を利用していないため、
Job Arranger または関連コンポーネント内部のDB処理で発生している可能性を想定しています
■ 補足
業務側としては、PowerShell および実行処理内では PostgreSQL を利用していないため、
本事象は Job Arranger の内部DB処理(ジョブ管理・履歴更新等)でのエラーの可能性が高いと考えています。
お手数ですが、原因特定および必要な対処についてご確認いただけますと幸いです。
必要な情報があればこちらでも取得・提供いたします。
よろしくお願いいたします。
ファイル
保守サポート 担当362 さんが約1ヶ月前に更新
- ステータス を 担当者処理中 から 回答中 に変更
ご担当者様
いつもお世話になっております。
本事象は Job Arranger の内部DB処理(ジョブ管理・履歴更新等)でのエラーの可能性が高いと考えています。 お手数ですが、原因特定および必要な対処についてご確認いただけますと幸いです。
psql_err_code: 42601 は、SQL クエリの形式に問題がある場合に PostgreSQL で返されるエラーコードです。
本件は、Job Arranger Server バージョン 7.2.1 における不具合に起因するもので、一部のケースにおいて、特殊文字(例:'、\、% など)を含むデータがデータベース処理に使用された際に発生する可能性がございました。
これらの特殊文字の取り扱いが適切に行われていなかったため、クエリが不正な形式となり、本エラーが発生する場合がございました。
本件につきましては、Job Arranger バージョン 7.2.2 にて、データおよび特殊文字の処理方法を改善しております。
この改善により、特殊文字を含むデータが正しく処理されるようになり、PostgreSQL エラー(psql_err_code: 42601)の発生を防止できるよう対応しております。
本改善につきましては、Job Arranger 7.2.2 のリリースノートに記載されておりますので、以下をご参照いただけますと幸いです。
https://www.jobarranger.info/jpn/jaz/5.release_note/index.html#note1
文字エスケープ対応のため、パラメータバインディングをサポートしました。 【変更前】SQLクエリでパラメータバインディングが使用されておらず、文字エスケープに問題が発生する可能性がありました。 【変更後】パラメータバインディングにより、クエリ実行時の文字エスケープが適切に処理されます。
ご不明な点がございましたらお気軽にお問い合わせください。
何卒よろしくお願いいたします。