執筆者: インフォシェア株式会社 小高 太郎

動作確認環境: .NET Framework 2.0 以上、Visual Studio 2005 以上


データベース接続情報の多くは、アプリケーションの app.config 及び web.config などの構成ファイルに保存し、管理の集中化を図ります。今回はこうした構成ファイルから、接続文字列を取得する手法をご紹介します。

例として以下のような app.config ファイルが存在しているとします。

<?xml version="1.0"?>

<configuration>

    <configSections>

    </configSections>

    <connectionStrings>

        <add name="Sample.Properties.Settings.NorthwindConnectionString"

             connectionString="Data Source=.;Initial Catalog=Northwind;Integrated Security=True"

             providerName="System.Data.SqlClient"/>

    </connectionStrings>

</configuration>

この connectionString の値を取得するには ConfigurationManager クラスを使用します。このクラスを使用するには、参照設定を行い、System.Configuration を追加する必要があります。

図 1

コードは以下になります。取得した接続文字より SQL Server に接続してクエリを行います。

Visual Basic
Imports System.Data.SqlClient 
Imports System.Configuration 
 
    Sub Main() 
        Dim connectionString As String = ConfigurationManager.ConnectionStrings("Sample.Properties.Settings.NorthwindConnectionString").ConnectionString 
 
        Using cn As SqlConnection = New SqlConnection(connectionString) 
            Dim cm As SqlCommand = New SqlCommand("SELECT * FROM Products", cn) 
            cn.Open() 
 
            Dim dr As SqlDataReader = cm.ExecuteReader() 
            While (dr.Read()) 
                Console.WriteLine(dr("ProductName")) 
            End While 
        End Using 
    End Sub 
 

接続文字列は、ConfigurationManager クラスの ConnectionStrings プロパティで取得します。

また、ConfigurationManager クラスには、他にも AppSetting と言うプロパティが存在し、接続文字列以外の一般的な設定値を取得することができます。

接続文字列を、下図のようにアプリケーションの設定機能で設定している場合は、この設定値が app.config (web.config) に保存され、My.Settings.[設定名] で接続文字列を取得することも可能です。下図の場合であれば、Dim connectonString As String = My.Setting.NorthwindConnectionString のようになります。

図 2
[拡大図]

参考リンク


Code Recipe

ページのトップへ