0

アプリケーションのセッションデータがテーブルに格納されているアプリケーションがあり、そのテーブルから、上記のデータを別のテーブルに配置してより意味のあるものに分離する SQL ジョブがあります。

ジョブを作成したとき、ジョブは DEV 環境と TEST でパスしましたが、ジョブを本番およびステージで実装すると、ジョブは以下のエラーで失敗します。

文字列から日時を変換する際に変換に失敗しました

アプリケーション DB が存在する場所以外の別のインスタンスに DB を復元しようとしましたが、SQL ジョブは正常に完了しています。ジョブは、アプリケーション DB が存在するインスタンスでのみ失敗しています。

試した手順: ジョブが正常に完了したインスタンスと失敗したインスタンスの SQL 構成を比較してみました。違いはありません。ストアド プロシージャを手動で実行して、いくつかの print ステートメントを書き込んで、それが本当にコードの問題であるかどうかを確認しました。特定のセッション GUID でジョブが失敗しておらず、DEV 環境でも同じ手順が実行されているため、役に立ちませんでした。

アプリケーション DB が存在するインスタンスでのみこれが発生する理由を突き止めることはできません。

4

2 に答える 2

0

「文字列から日時を変換する際に変換に失敗しました」。これはデータに基づくエラーです。データに変換するのに必要な形式ではない文字列が含まれています。問題はコードではなく、データにあります。データを必要な形式に変換するための前処理ステップを追加します。

于 2013-08-28T06:29:40.037 に答える
0

ジョブが実行されているサーバー アカウントのデフォルト言語を確認してください。私の推測では、DEV/TEST のアカウントが英国英語に設定され、LIVE が英語に設定されているようなものです。ただし、その場合でも、問題が LIVE に表示される理由を示すだけです。これを修正するために行うべき根本的なことは、ジョブが日付形式について仮定を行わず、暗黙的な日付変換を行わず、日付変数/列に日付を保持し、文字列には保持しないことを確認することです。

于 2013-08-28T06:51:27.613 に答える