![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67b6d)
VB2005、SQLServer2005でWebアプリケーションを開発しています。
Web画面で、あるテーブルからデータを検索する処理をある一定の時間毎に繰り返すような画面があるのですが、時々エラーが発生してしまいます。
エラーの内容は、「トランスポートレベルのエラーが発生しました。(既存の接続はリモートホストに強制的に切断されました)」というエラー内容です。
エラーが発生しない事がほとんどなのですが、時々発生してアラートが上がってしまうため困っています。
ロジック的な問題なのか・ネットワーク的な問題なのか切り分けも出来ない状況です。
何か対応策や同じような(似たような)事例をご存知でしたら教えて下さい。
よろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
コネクションプールの数は、接続文字列内で指定できます。
最大数を超えて要求すると、コネクションタイムアウトの設定時間までは待機し、その後接続エラーになります。コネクションタイムアウトも接続文字列内で指定できます。
http://msdn.microsoft.com/ja-jp/library/system.d …
最大数を越えると接続エラーになるという事は、一定時間毎にコネクションを確立する当アプリケーションの場合、時々エラーが発生するという事に結びつきそうですね。
コネクションプールのクリアを入れた形で様子を見てみようと思います。
たびたびご回答いただきありがとうございます。
No.3
- 回答日時:
>コネクションとSQL実行は共通クラスで行っています。
実装は公開可能でしょうか?
たまに、SqlConnection.ClearAllPools してみるとか(対処法的ですが)。
SQL で言うと、昔 Oracle なんかでは、マイナーな組み込み関数を使うとエラーが出たりしていましたが。。。
---
WHERE 1=1 の件、ProKaseifu さんのご回答に補足しますと、
画面入力等によって追加の条件が発生する場合に、" AND xxx=yyy"
などという文字列を連結していきますので、最初に " WHERE 1=1 " と書いておけば、" AND "句の要否考慮をしなくて良くなる訳です。
この回答への補足
実装の公開はちょっと難しいです。。。すみません。
sqlConnection.ClearAllPoolsは調査している時に、気になったメソッドの1つです。
コネクション情報はPoolされていて、それらを一度すべて空にするというメソッドらしいですね。
コネクションPoolについてあまり詳しくないのですが、Pool出来る数?には限界があるのでしょうか?
もしあった場合、さらにコネクションを確立しようとした場合どのような状態になるのでしょうか?
No.1
- 回答日時:
お力になれるかは分かりませんが、とりあえずセオリーとして、
SqlConnection, SqlCommand, SqlDataAdapter 類は Close, Dispose を確実に行っていますか?
この回答への補足
回答ありがとうございます。
Close、Disposeは見直しを以前に行い、必要な箇所には全て埋め込んでいます。
コネクションとSQL実行は共通クラスで行っています。
ちょっと調査をしていて気になった点があったので追加情報ですが、
当エラーが頻繁に発生しているSQL文に「WHERE 1 = 1」という条件が含まれているのは何か関係あるでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
マクロについて教えてください...
-
OLEDB.NETで接続できない
-
EXCEL/VBAで、自分のPCだけエラ...
-
ASP.NET OleDbConnectionが定義...
-
VBAで実行時エラー'424' オブジ...
-
VBAがブレークモードになっ...
-
実行時エラー '32755' [キャン...
-
実行時エラー -'-2147417848
-
アプリケーション定義またはオ...
-
エクセルVBA グラフが描けない
-
VB6+SQL サーバー 2000 で 実行...
-
【エクセル】ハイパーリンク先...
-
プロシージャ名の取得
-
VBで構造体を使うさ際の64k...
-
EXCEL VBAマクロ中断でデバッグ...
-
エクセルVBAで以下のようなコー...
-
なぜこんな初歩的なVBAのIf文で...
-
Exce2007でBorder クラスの Lin...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
VBAがブレークモードになっ...
-
なぜこんな初歩的なVBAのIf文で...
-
【Excel VBA】マクロをボタンに...
-
VBSで変数の宣言はできないので...
-
VBS実行時エラー オブジェクト...
-
実行時エラー3001「引数が間違...
-
ExcelVBA Range クラスの Page...
-
ExcelVBAで、ユーザー定義型は...
-
EXCEL VBAマクロ中断でデバッグ...
-
マクロについて教えてください...
-
プロシージャ名の取得
-
ADODB.Streamを使用してUTF-8を...
-
実行時エラー -'-2147417848
-
Outlook.ApplicationをCreateOb...
-
VBAでのエラー
-
なぜエラーになるのでしょうか...
-
VBAのコードがエラーになっ...
-
[Delphi] データセットは閉じて...
おすすめ情報