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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- 電子マネー・電子決済 QUICPayの登録ができない。 4 2023/06/10 10:57
- au(KDDI) 特定の画面を見るとスマホが固まります ご覧頂き有難うございます。 特定のページを見るとスマホが固まり 1 2023/08/21 19:29
- Windows 10 数年前からWindows10 の Update ができないです。なぜですか? 7 2022/11/09 06:03
- OCN光 VDSL回線での不具合 ネット回線変えるべきか? 3 2023/01/07 23:14
- 携帯型ゲーム機 ニンテンドースイッチについてです。 長文失礼します 今朝までポケモンSVをプレイしていたのですが、突 1 2023/02/12 21:19
- その他(パソコン・スマホ・電化製品) 現在、Q-SL2を使用しています。Q-H1を接続しようとすると本体ソフトウェア確認中にエラーが発生し 1 2023/03/04 23:14
- 携帯型ゲーム機 ニンテンドースイッチについての質問です。 長文になるかもしれませんがすみません。 お昼頃にSwitc 3 2023/02/12 21:32
- Outlook(アウトルック) OCN WEBメールについて 1 2022/05/18 23:33
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 6 2023/03/03 18:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
VBSで変数の宣言はできないので...
-
IEのダウンロード通知バーのVBA...
-
実行時エラー3001「引数が間違...
-
一般ODBCエラーについて
-
【Excel VBA】マクロをボタンに...
-
ADODB.Streamを使用してUTF-8を...
-
実行時エラー -'-2147417848
-
プロシージャ名の取得
-
EXCEL/VBAで、自分のPCだけエラ...
-
VBS実行時エラー オブジェクト...
-
VBAがブレークモードになっ...
-
ExcelVBAでのエラー回避
-
ExcelVBAで、ユーザー定義型は...
-
VBAのコードがエラーになっ...
-
デバッグ時はOK、デバッグ無し...
-
アクセス 実行時エラー3265
-
なぜエラーになるのでしょうか...
-
VBAのエラー発生場所をメッセー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
【Excel VBA】マクロをボタンに...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAでのエラー
-
マクロについて教えてください...
-
ExcelVBA Range クラスの Page...
-
実行時エラー3001「引数が間違...
-
VBS実行時エラー オブジェクト...
-
VBAがブレークモードになっ...
-
OLEDB.NETで接続できない
-
プロシージャ名の取得
-
EXCEL VBAマクロ中断でデバッグ...
-
VBSで変数の宣言はできないので...
-
ADODB.Streamを使用してUTF-8を...
-
実行時エラー -'-2147417848
-
AccessVBAでExcelを起動し、罫...
-
VB6+SQL サーバー 2000 で 実行...
-
Outlook.ApplicationをCreateOb...
-
Application.ActiveInspectorで...
おすすめ情報