DOBON.NETプログラミング掲示板過去ログ
データベース再接続がおかしい…
題名: データベース再接続がおかしい…
著者: Yuki
日時: 2007/01/16 18:57:34
ID: 18787
この記事の返信元:
(なし)
この記事への返信:
[18793]
Re[1]: データベース再接続がおかしい…
じゃんぬねっと
2007/01/16 20:53:21
ツリーを表示
環境/言語:[Windows2000,VB.NET2003,FrameWork1.1]
分類:[.NET]
先日は有難う御座います。
AppConfigの件は解決したのですが…
調べても情報がなかったのでお聞きします。。
現在、当方ではOracle10gのDBサーバを設けているのですが
VB.NET2003のコードの中でDBに対してコネクションを接続して、コネクションを切断し
コネクションを再度接続した時に、DBサーバに繋がらない(物理的にLAN線を抜きました)にもかかわらず、繋がったようにステータスでは返ってきます。。。
繋がっているとか、繋がっていないは
TryCatchのOleDbExceptionで確認しています。
以下が切断に用いているコードです。。何か不自然な点がありましたら、宜しく御願いします。
’変数
Private Dim Handle As New OleDb.OleDbConnection
Private Dim Adapter As OleDbDataAdapter
’接続
Public Function Connect()
' 接続文字列作成
Handle.ConnectionString = "Provider="MSDAORA;User ID=TEST;Data Source=hoge;Password=hogehoge"
' エラー情報初期化ルーチン
Try
' 接続成功
Handle.Open()
Adapter = New OleDb.OleDbDataAdapter
Catch e As OleDbException
' ログ出力ロジック
End Try
End Function
’切断
Public Function DisConnect()
' エラー情報初期化ルーチン
Try
Adapter.Dispose()
Adapter = Nothing
Handle.Close()
Catch e As OleDbException
' ログ出力ロジック
End Try
' ハンドラを破棄
Handle.Dispose()
End Function
題名: Re[1]: データベース再接続がおかしい…
著者: じゃんぬねっと
URL:
http://jeanne.wankuma.com/
日時: 2007/01/16 20:53:21
ID: 18793
この記事の返信元:
[18787]
データベース再接続がおかしい…
Yuki
2007/01/16 18:57:34
この記事への返信:
[18796]
Re[2]: データベース再接続がおかしい…
Yuki
2007/01/17 9:37:32
ツリーを表示
■No18787に返信(Yukiさんの記事)
> 繋がっているとか、繋がっていないは
> TryCatchのOleDbExceptionで確認しています。
State プロパティも見てあげてください。
> 以下が切断に用いているコードです。。何か不自然な点がありましたら、宜しく御願いします。
呼び出し元のソースも書いて頂かないと意味がないです。
題名: Re[2]: データベース再接続がおかしい…
著者: Yuki
日時: 2007/01/17 9:37:32
ID: 18796
この記事の返信元:
[18793]
Re[1]: データベース再接続がおかしい…
じゃんぬねっと
2007/01/16 20:53:21
この記事への返信:
(なし)
ツリーを表示
返信が遅れて申し訳ないです。
じゃんぬねっと様
>State プロパティも見てあげてください。
Connectした際には、Stateプロパティは"Open"
DisConnectした際には、Stateプロパティは"Close"になっておりました。
尚、物理的にLAN線を抜いてOpen()した際は、Stateプロパティは"Open"になっております。
>元ソース
開示すると…少し事になりそうなので、サンプルを作りました。
すみません。。。。。。尚、接続がおかしいというのは、デバックモードで動かしたときにわかりました。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'接続
Connect()
'SQL実行
'切断
DisConnect()
'接続(物理的にLAN線を抜く)
Connect()
'SQL実行
'切断
DisConnect()
End Sub
#のせていたソースが一部不具合がありましたので修正します
#(Handle → Handler)
' 接続文字列作成
Handler.ConnectionString = Handler.ConnectionString = "Provider=MSDAORA;User ID=TEST;Data Source=HOGE;Password=HOGEHOGE"
' エラー情報初期化ルーチン
Try
' 接続成功
Handler.Open()
Adapter = New OleDb.OleDbDataAdapter
Catch e As OleDb.OleDbException
' ログ出力ロジック
End Try
End Function
'切断
Public Function DisConnect()
' エラー情報初期化ルーチン
Try
Adapter.Dispose()
Adapter = Nothing
Handler.Close()
Catch e As OleDb.OleDbException
' ログ出力ロジック
End Try
' ハンドラを破棄
Handler.Dispose()
End Function
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
先日は有難う御座います。
AppConfigの件は解決したのですが…
調べても情報がなかったのでお聞きします。。
現在、当方ではOracle10gのDBサーバを設けているのですが
VB.NET2003のコードの中でDBに対してコネクションを接続して、コネクションを切断し
コネクションを再度接続した時に、DBサーバに繋がらない(物理的にLAN線を抜きました)にもかかわらず、繋がったようにステータスでは返ってきます。。。
繋がっているとか、繋がっていないは
TryCatchのOleDbExceptionで確認しています。
以下が切断に用いているコードです。。何か不自然な点がありましたら、宜しく御願いします。
’変数
Private Dim Handle As New OleDb.OleDbConnection
Private Dim Adapter As OleDbDataAdapter
’接続
Public Function Connect()
' 接続文字列作成
Handle.ConnectionString = "Provider="MSDAORA;User ID=TEST;Data Source=hoge;Password=hogehoge"
' エラー情報初期化ルーチン
Try
' 接続成功
Handle.Open()
Adapter = New OleDb.OleDbDataAdapter
Catch e As OleDbException
' ログ出力ロジック
End Try
End Function
’切断
Public Function DisConnect()
' エラー情報初期化ルーチン
Try
Adapter.Dispose()
Adapter = Nothing
Handle.Close()
Catch e As OleDbException
' ログ出力ロジック
End Try
' ハンドラを破棄
Handle.Dispose()
End Function