C# - データベースの接続文字列を App.config から取得する
データベースの接続文字列
データベースの接続文字列は App.config や Web.config などの config ファイルに設定しておくことが多いと思います。
ここでは、みなさん一度は通る、データベースの接続文字列を App.config から取得する方法をご紹介します。
データベース接続文字列
データベース接続文字列はデータプロバイダーや認証方法などによって違ってきます。
Microsoft SQL Server へ接続する時のおすすめは SqlClient のプロバイダーで、例えば 「 SqlClient のプロバイダーを使って、Windows 認証で、ローカルにある MSSQLSERVER2017 という名前付きインスタンスの Test データベースに接続する 」 ための接続文字列は次のように設定することができます。
<connectionStrings> <add name="DB1" providerName="System.Data.SqlClient" connectionString="Server=.\MSSQLSERVER2017;Database=Test;Integrated Security=SSPI;"/> </connectionStrings>
「 SqlClient のプロバイダーを使って、SQL Server 認証で、IP アドレス 209.85.128.*** にある、デフォルトインスタンスの SQL Server の Test データベースに接続する 」 ための接続文字列は次のように設定することができます。
<connectionStrings> <add name="DB1" providerName="System.Data.SqlClient" connectionString="Server=209.85.128.***;Database=Test;Uid=sa;Pwd=*******"/> </connectionStrings>
App.config からデータベースの接続文字列を取得する
先ほどのようなデータベースの接続文字列を App.config ファイルから取得してみましょう。
ConfigurationManager クラスを使いたいので参照に System.Configuration を追加します。
ソリューションエクスプローラーの [参照] を選択して右クリックし [参照の追加] を選択します。
参照マネージャーの画面が出てくるので、左側で [アセンブリ] を選択し、検索するなどして System.Configuration を見つけて選択し、[OK] をクリックします。
参照を追加したら、using ディレクティブで、System.Configuration を指定しておきます。
using System.Configuration;
そうすれば、次のようにデータベース接続文字列を取得できます。
string db = ConfigurationManager.ConnectionStrings["DB1"].ConnectionString;