ホーム › フォーラム › A5:SQL Mk-2掲示板 › 接続エラーについて
- このトピックには13件の返信、2人の参加者があり、最後ににより2年、 10ヶ月前に更新されました。
-
投稿者投稿
-
佐久間 大典ゲスト
Ver2.12あたりから、頻繁に
「Unexpected server response:」
というエラーがアラート表示されます。
こちらのエラーはどのようなときに表示されるのでしょうか?
コチラのアラートが表示されますと、システムを再起動するしかなく、非常に困っています。
解決策が有ればご教授ください。
また、Keep Aliveは2秒毎に設定しています。松原正和キーマスター佐久間 大典さんこんにちは。
「Unexpected server response:」ですが、PostgreSQLのプロトコルで、レスポンスの種類を表す1文字(1byte)のコードが想定された値と異なったときにおこるエラーのようです。
本来は発生し得ないもののようですが、以前同じエラーで報告を頂いたこともあったのですが、この時はネットワークのインフラレベルの不調が原因と思われるということになりました。ネットワーク上でのデータエラーなどが想定されるようにも思います。
あと、Keep Aliveが2秒というのはちょっと短すぎるような気がします。恐らく通常の操作にも影響が出る(レスポンスなど)のではないでしょうか?。もう少し長い値
(20~30秒あるいはそれ以上)で良いと思います。ebisゲストお世話になっております。
私も同じエラーとなりこの投稿に辿り着きました。私の確認したところ、以下を実行するとエラーが発生し以降は再起動しないと
エラーが出続けております。SELECT FROM TABLE; — SELECT句にカラム指定がない不正なSQL
この事象は接続先がOracleでは発生せず、PostgreSQLで発生するようです。
松原正和キーマスターebis さんこんにちは。
こちらの環境では構文エラーにはなるものの、継続してエラーになるなどの状況にはなりませんでした。もしかしたら、PostgreSQLのバージョンや文字コード、その他設定などで変わるのかもしれません。
詳しい情報など頂けたらと思うのですが、いかがでしょうか?mikeゲストこんにちは。
postgresで同様の状況になりましたので報告します。
A5:SQL ver.2.14.5症状:
DBに接続し、特定のテーブルをselectするクエリを投げると「Unexpected server response:」になります。
一度エラーが発生すると、発生前は実行できていたテーブルのクエリを投げた場合でも「Unexpected server response:」が出てしまいます。
この状況はDB切断まで続きます。
特定のテーブルでも、ツリービューから直接開いた場合は問題なくデータが表示できます。設定を初期化したり、文字コードを変えてみたりしましたが解消できませんでした。
あるタイミングから急にできなくなったので何かきっかけがあるとは思います。
もし解消できるアイディアがあったらご教示いただけると幸いです。mikeゲスト度々失礼します。
上記の件、該当のクエリにlimitを付けると解消されました。
表示できない文字が含まれているレコードがあるのかとも思いましたが、「limit 全件数」で表示できたので、他の問題のようです。
取り急ぎご報告いたします。mikeゲスト解消というか、回避ですね。
また何か分かればご連絡します。mikeゲスト上記、下記のフォルダ内を削除したら解消しました。
役に立つか分かりませんが共有しておきます。
C:\Users\[USERNAME]\AppData\Local\CrashDumpsbicmanゲスト*を入れずにSQLを発行すると「Unexpected server response:」となりました。
select from table_name
気をつけましょう。はまりました。松原正和キーマスターbicmanさんこんにちは。
確かに、* 抜きのSQLで発生するようですね。とりあえず、Wiresharkでパケットを眺めてみたのですが、原因はよくわかりませんでした。
プロトコル関連のエラーなのでなかなか対処はむつかしいのですが、対処療法として、*やカラム指定のないSELECT文を実行したときに事前にチェックを行うようにしてみました。Version 2.16.0 beta 8で実装してみましたので、お試しいただければと思います。
…ほかのケースでも、「Unexpected server response:」は起こりえると思うので、根本的に見直せればよいのですが…。KobayashiゲストCSVからのインポートでも同じ現象が発生しました。
回避策が見つかりましたので共有します。<発生したバージョン>
Version 2.16.0 64bit ←こちらで回避策を実施しました。
Version 2.15.5 64bit<エラー発生時の環境>
AWSのEC2をSSHで踏み台にしてRDS for PostgreSQLに大量データのインポート<回避策>
Keep Aliveの送信を止めるとエラーが出なくなりました。松原正和キーマスターKobayashiさんこんにちは。
なるほど、Keep Aliveは、メインスレッドとは別に「SQLが実行されない期間が続いたときに限り」ダミーのSQLを投げる機能なのですが、なにかバッティングしてしまっているのかもしれないですね。インポート時も、ソースコードを確認する限り、Keep Aliveが動かないようになっているように見えますが、何か想定外のことが起こっていないか確認してみます。ひろしゲストスキーマ間転送でも複数行インサートを使用しない場合、
あるいはレコードごとの件数を少なく指定した場合に発生するようです。keep_aliveを送信しない については試していません。
これから確認してみます。ひろしゲストkeep_aliveを送信しない場合でもエラーになりました。
エラーメッセージはUnexpected server response:の前にアドレス違反のエラーが出ます。現状は複数行インサートの件数を調整し、うまくいく件数を探るしかなさそうです。
-
投稿者投稿