質問編集履歴

2

書式の改善

2017/01/17 03:07

投稿

jun_i
jun_i

スコア14

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- 私の今の解釈
13
+ ###私の今の解釈
14
14
 
15
15
  ・接続型
16
16
 
@@ -32,12 +32,16 @@
32
32
 
33
33
 
34
34
 
35
+ ###検証結果
36
+
35
37
  ・接続型で接続
36
38
 
37
39
  ①あえてcloseせず放っておいても、10分くらいすると接続が切れた。
38
40
 
39
41
  ②明示的にcloseしたとしても、すぐには接続は切れない。(10分くらいすると切れる)
40
42
 
43
+
44
+
41
45
  ・非接続型で接続
42
46
 
43
47
  ③クエリの処理が終了したとしても、すぐには接続は切れない。(10分くらいすると切れる)つまり②の場合と同じ動き。
@@ -146,7 +150,7 @@
146
150
 
147
151
 
148
152
 
149
- 2017.1.13追記
153
+ ###2017.1.13追記
150
154
 
151
155
  肝心なところが抜けていました。
152
156
 

1

2017\.1\.13追記という部分を追加

2017/01/17 03:07

投稿

jun_i
jun_i

スコア14

test CHANGED
File without changes
test CHANGED
@@ -141,3 +141,69 @@
141
141
 
142
142
 
143
143
  以上、駄文で申し訳ありませんが、何か分かる方がおりましたら、よろしくお願いいたします。
144
+
145
+
146
+
147
+
148
+
149
+ 2017.1.13追記
150
+
151
+ 肝心なところが抜けていました。
152
+
153
+ 接続が切れている、切れていないをどう確認したかというと、Microsoft SQL Server Management Studio上で、
154
+
155
+ sys.dm_exec_sessions と sys.dm_exec_connectionsを参照して確認しました。
156
+
157
+
158
+
159
+ また、sys.dm_exec_sessionsにはSTATUSというカラムがあり、ここは主にrunningかsleepingのどちら
160
+
161
+ かになります。
162
+
163
+ もしかしたら、これが接続が切れている切れていないという意味なのか?とも思い、検証してみました。
164
+
165
+
166
+
167
+ そうしたところ、
168
+
169
+ 接続型では、上記コードの
170
+
171
+ Dim reader As SqlDataReader = command.ExecuteReader()
172
+
173
+
174
+
175
+ 非接続型では
176
+
177
+ adapter.Fill(ds)
178
+
179
+ を処理している間のみrunnigになるということが分かりました。
180
+
181
+
182
+
183
+ 接続型ではconnection.Close()をしてもしていなくても処理が終了すれば、sleepingになるので、ここの値の意味が、接続が切れている切れていないではないようです。(結果的に蛇足です。すみません)
184
+
185
+
186
+
187
+ また、もう一つ分かったことがあります。
188
+
189
+ 昨日の質問内容で、接続型でも非接続型でもすぐには接続は切れずに、しばらくすると切れると書きました。
190
+
191
+ これは、やはりコネクションプールの設定のようです。
192
+
193
+ 接続文字列でPooling=Falseとして繋げたら、接続型でも非接続型でも、処理が終了したらすぐに切断されました。
194
+
195
+
196
+
197
+ なのでまとめると、DBとの接続が切断(解除?)されたというのは、コネクションの接続のこととは、また違う部分の話なのではないのかな。と推測しています。
198
+
199
+
200
+
201
+ 私が昨日から目で確認していたものは、「コネクションが接続された。切断された。」という話で、ここまでは接続型でも非接続型でも仕組みは変わらないのではないかと思っています。
202
+
203
+
204
+
205
+ 接続型と非接続型の違いは、コネクションを繋げた後の実際にデータにアクセスする時の動作のことかと思っているのですが、ここら辺について詳しい方いたら教えていただきたいと思います。
206
+
207
+
208
+
209
+ 長文失礼いたしました。よろしくお願いいたします。