none
CRMの処理がタイムアウトしてしまいます RRS feed

  • 質問

  • お世話になります。

    Dynamics CRM 2011を使用しているのですが、以前までは動いていた処理が途中で終了してしまいました。

    Visual Studioでデバッグしたところ、クエリ実行箇所で以下のようなエラーメッセージが返ってきました。

    ----------------------------------------------------------------------------------------------------------------

    System.ServiceModel.FaultException<Microsoft.Xrm.Sdk.OrganizationServiceFault>がキャッチされました

    HResult=-2146233087

    Message=SQL timeout expired.

    Source=mscorlib

    ----------------------------------------------------------------------------------------------------------------

    処理は、クエリを実行してDBからデータを取得するものなのですが、件数がとても多く、ページングや副問合せなど少し複雑な作りになっています。

    (クエリは、sqlファイルを呼び出すのでなく、ソースコードに書いています。)

    また、この処理はCRMのWebサービスを利用して作ったものです。

    エラーメッセージにもありますし、今回は件数も多かったのでタイムアウトエラーなのだと思います。

    今までは正常に動いており、既に運用に乗っているため、ソースを変更するのではなく、タイムアウトの設定時間を延ばすことで対処できたらと考えています。

    調べた結果レジストリにOLEDBTimeoutやExtendedTimeoutを追加して、値を大きめに設定してみましたが、タイムアウトまでの時間は変わらずでした。

    なにか解決策をご存知の方、いらっしゃいましたらよろしくお願いします。

    2018年5月10日 8:26

回答

  • そうでしたか。トランザクションのタイムアウトかもしれませんね。今回のケースに有効かどうかはわかりませんが、以下のページをご紹介しておきます。

    [C#] 現在の接続と関連付けられているトランザクションは完了しましたが、破棄されていません。トランザクションは、接続が SQL ステートメントの実行に使用される前に破棄されなければなりません。
    https://wada811.com/blog/csharp-transaction-scope-timeout-error/


    ★良い回答には質問者は回答済みマークを、閲覧者は投票を!

    • 回答としてマーク myu_49 2018年6月6日 23:39
    2018年5月11日 4:42

すべての返信