【VB】DB接続 接続方法の覚え書き

【VB】DB接続 接続方法の覚え書き
2016年3月2日

VBでDBの接続方法の覚え書きをします。

 

SQLserverに接続します。

SqlConnectionオブジェクトに接続文字列を設定する。

Data Source = サーバ名
Initial Catalog = データベース名
Persist Security Info = 接続情報の保護
User ID = ユーザID
Password = パスワード
おまけ
Connect Timeout = DBに接続している時間

接続にはSqlConnectionのOpenメメソッドで接続
切断にはSqlConnectionのCloseメメソッドで接続

サーバーに対するアクティブな接続数を最小限に抑えるためDBの切断が必要。

'SqlConnectionオブジェクトに接続文字列を設定
Dim cn As New SqlClient.SqlConnection = _
"Data Source = サーバ名;" & _
"Initial Catalog = データベース名;" & _
"Persist Security Info = True;" & _
"User ID = ユーザID;" & _
"Password = パスワード;" & _
"Connect Timeout = 30;"

'データベースに接続
cn.Open()

'データベースを切断
cn.Close()

毎回プロジェクトごとに接続文字列を長々と書いているのも別プロジェクトへの使い回しがしづらいので、
接続文字列を変数にして使用する。

あとはDBに接続できるメソッドを作成する。

’DB接続文字列宣言
Public strSRV As String = "server" 'サーバ名
Public strSRC As String = "DB" 'データソース名
Public StrId As String = "userid" 'ログインID
Public strPw As String = "password" 'パスワード
Public intCnto As Integer = "30" 'コネクションタイムアウト初期値
’DB接続メソッド
Public Function fncCnOpen(ByRef cn As SqlClient.SqlConnection) As Boolean
'---------------------------------------------
'DBコネクションを開く
'---------------------------------------------
Dim strConn As String

'接続文字列設定
strConn = strConn & "Data Source=" & strSRV & ";"
strConn = strConn & "Initial Catalog=" & strSRC & ";"
strConn = strConn & "Persist Security Info=True;"
strConn = strConn & "User ID=" & StrId & ";"
strConn = strConn & "Password=" & strPw & ";"
strConn = strConn & "Connect Timeout=" & Val(intCnto) & ";"

'領域確保
cn = New SqlClient.SqlConnection(strConn)

Try
'接続
cn.Open()
fncCnOpen = True
Catch ex As Exception
'接続失敗
fncCnOpen = False
Exit Function
Finally

End Try
End Function

これでDB接続は少ない命令で実行が可能。

Dim scn As SqlClient.SqlConnection
cn = New SqlClient.SqlConnection
fncScnOpen(cn)

もちろん切断も。

Public Sub subCnClose(ByRef cn As SqlClient.SqlConnection)
'---------------------------------------------
'DBコネクションを閉じる
'---------------------------------------------
cn.Close()
End Sub


subCnClose(cn)