A5:SQL Mk-2

開発のこと、日々のこと

実行されたステートメントに対するサーバーの応答が、正しい形式でなかっため・・

ホーム フォーラム A5:SQL Mk-2掲示板 実行されたステートメントに対するサーバーの応答が、正しい形式でなかっため・・

このトピックには4件の返信が含まれ、2人の参加者がいます。3 日、 16 時間前 長谷川 さんが最後の更新を行いました。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #5613 返信

    長谷川

    お世話になっております。
    エラーが表示されるので、回避方法があれば教えて下さい。
    ■発生するエラー
    プロシージャモードで、以下のエラーメッセージが表示されます。
    「実行されたステートメントに対するサーバーの応答が、正しい形式でなかったため、接続が使用できなくなりました。」

    「Broken packet, data length 5 exceeds fields length 4」
    ■使用環境
    接続先: SQL Server 2008 R2
    A5SQL: version 2.14.3
    ■補足
    このエラーが発生するのは、少々複雑なSQLを実行したときだけで、それ以外では全く問題なく使用できております。
    A5SQLのバージョンを2.13 や2.11 に変えてみましたが、状況は変わりませんでした。
    また、「OLE DB Provider を使わずに直接接続する」オプションの有無でも状況は変わりませんでした。
    検証として、同じSQLを「MS SQL Management Studio」で実行すると、意図する結果が返ってきました。ただ、気になったのは、結果が一度に返って来ずに、数回のまとまりに分割された上で返ってきているようです。

    #5653 返信

    松原正和
    キーマスター

    長谷川さんこんにちは。
     
    このエラーは実行に時間がかかったときに発生するなどでしょうか?。ADOやODBCで登録したデータベースではいかがでしょうか?。
     
    なにか、再現できるようなサンプルSQLをご提供いただけたりするとありがたいのですが…。
     
    タイムアウトなどが発生している可能性もあるのかなと思うのですが、この場合、オプションダイアログから「SQL」タブで、タイムアウト秒数を変更するなどすると変わる可能性もあります。

    #5667 返信

    長谷川

    ご連絡ありがとうございます。

    > このエラーは実行に時間がかかったときに発生するなどでしょうか?
    はい。実行に時間がかかった時に発生しています。

    > タイムアウトなどが発生している可能性もあるのかなと思うのですが、
    > この場合、オプションダイアログから「SQL」タブで、
    > タイムアウト秒数を変更するなどすると変わる可能性もあります。
    こちらの設定は「30」秒でも「6000」秒でも症状は変わりませんでした。
    「0」秒でも変わりませんでした。

    > ADOやODBCで登録したデータベースではいかがでしょうか?。
    ODBC接続時には、
    [Microsoft][ODBC SQL Server Driver]文字列データの右側が切り捨てられました。
    とのメッセージが返ってきます。

    > 再現できるようなサンプルSQLをご提供いただけたりするとありがたいのですが…。
    申し訳ないのですが、どういう条件で発生するかがわかっておりません。
    感覚の話で申し訳ないのですが、
    こちらで扱っている他のSQLより、かなり WITH句 のボリュームがありまして、
    サーバー側での処理が重たいのだろうな、とは感じており、
    それが原因なんだろうとは思います。
    そのため、他のSQLとは、異なった結果の返り方がされているのかしら?という感じ方です。
    あやふやな回答ですみませんです。

    #5677 返信

    松原正和
    キーマスター

    長谷川さんこんにちは。
     
    もしかしたらですが、長いSQLを実行したときに途中のネットワーク機器で、タイムアウトで、セッションが切断されたりしている可能性はないでしょうか。

    #5678 返信

    長谷川

    ご連絡ありがとうございます。
    過去のログを拝見しまして、そのような点も疑ったのですが、実際、SQL Server Management Studio で全く同じSQLを実行しますと、所望の結果が返ってきますので、その点は当たらないのかな、と勝手に考えておりました。
    この時に、SSMSで結果が返ってくる時間は、全体の結果が一覧として返ってくるまでに、5分とかでした。(画面上では、1分ごとに結果の一覧が更新されていって、5分で全体が返ってくる感じ。)
    ところが、A5SQLで同じSQLを実行しますと、エラー自体は、毎回1分程度で返ってきますので、何かが違うのだろうな、と。
    そういう点から、もしお分かりになるようなことがあれば、という思いでした。

    なお、昨日のことですが、SSMSの方で実行計画をみて、SQL自体に手を入れまして、実行を30秒程度まで短縮することができました。(素人なもので。)
    そのため、これなら A5SQL で通るかもしれない、と思ったのですが、残念ながら症状は変わりませんでした。
    (別件になってしまいますが、プロシージャモードでも実行計画が取れるとありがたいですね。)

    なにか、他に情報提供できることが出てまいりましたら、連絡をさせていただきます。
    お忙しいところ御対応ありがとうございました。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
返信先: 実行されたステートメントに対するサーバーの応答が、正しい形式でなかっため・・
あなたの情報:




コメントは受け付けていません。