質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

2回答

17152閲覧

SqlConnectionのOpenメソッドをした後、SQL Serverへの接続が開いているか閉じているかを調べる方法

kurokurokuro

総合スコア14

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2015/07/28 08:44

SqlConnectionのOpenメソッドをした後、SQL Serverへの接続が開いているか閉じているかを調べる方法はあるのでしょうか?

ご回答頂けると幸いです、よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

対象の、
Microsoft SQL Server のバージョン、エディション
.Net Framework のバージョン
が明示されていないので、
ConnectionState 列挙体
https://msdn.microsoft.com/ja-jp/library/system.data.connectionstate(v=vs.110).aspx
但し、通常は、接続プールが有効に動作しますので、
DBをOPENしっぱなしで使用する事は、まれで、推奨されません。
⇒理由は、岡崎市図書館事件を、調べて教訓としてください。

MS SQL Server 2000 以前、DBの稼働状態他、操作:DMO
MS SQL Server 2005 以後、DBの稼働状態他、操作:SMO

投稿2015/07/28 09:06

編集2015/07/28 09:09
daive

総合スコア2030

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kurokurokuro

2015/07/30 00:16

ご回答頂きありがとうございます。 また、必要な情報が抜けており、申し訳ありません。 以下バージョン情報です。 Microsoft SQL Server のバージョン 2008 R2 .Net Framework のバージョン 4.5 また、後出しになってしまし申し訳ありません。 接続状態を確認したいのは、.close()を行う時に接続の開閉で行うかを判断したい為なのですが、こういう場合でもConnectionStateで判断できるものなのでしょうか? >>⇒理由は、岡崎市図書館事件を、調べて教訓としてください。 繋ぎっぱなしにするとアクセス障害につながることがあるんですね… DBについてまだまだ知らないことが多く全てを理解できませんでしたが、恐ろしさとして良い教訓になりました。 教えていただきありがとうございます。
daive

2015/07/30 02:05

>接続状態を確認したいのは、.close()を行う時に接続の開閉で行うかを >判断したい為なのですが、こういう場合でもConnectionStateで判断できる >ものなのでしょうか? という事を含めて、確認、検証をするのが、テストや、デバッグ作業だと、 思っています。機能の確認用に、ミニマムコードを書いたりします。 その上で、Using系が良いのか、Try系が良いのかとか、不具合時に メモリーリークや、解放漏れが発生しにくい、ログが残しやすいのは、 どっちかとか、確認していきます。 Entityモデル、型付データセットを使わない場合で、 DBを使う場合は、ファクトリークラスを作って、DB自体の差異を吸収してしまう 事も行ったりします。OLE-DB/ODBC/MS-NativeClientなどは、その為の機能が 用意されています。 ’ DBを使うだけの方は、SMOを使う事は無いと思いますが、そんな技術もあるな~位で。 旧EnterpriseManager は、DMOで、現ManagementStudioは、SMOの 機能を使って、実装されているようです。 MSのサンプルは、必ずしも、出来は良くないですが、 DMO:VB6&C++系MS-SQL2000/SMO:.Net系MS-SQL2005以後 の物が、 入手可能です。
guest

0

State プロパティでチェック可能です。
SqlConnection.State プロパティ

投稿2015/07/28 08:55

sho_cs

総合スコア3541

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kurokurokuro

2015/07/30 01:31

ご回答頂きありがとうございます。 State プロパティで状態を取得することができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問