none
SQL Server の接続文字列をWeb.ConfigのConnectionStringsから取得する方法 RRS feed

  • 質問

  • お世話になります。
    SQL Serverに接続する際の接続文字列 ( SqlConnection(...)の引数部分 )にWeb.Configで指定されたConnectionStringの値を
    使用したいのですが、以下の部分がよくわかりません。

           Dim rootWebConfig As System.Configuration.Configuration =     System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(※1)

           Dim connString As System.Configuration.ConnectionStringSettings =      rootWebConfig.ConnectionStrings.ConnectionStrings("conStr")

    上記のコーディングで、connString.ConnectionStringに Web.Configで指定した"conStr"の内容が格納されるのですが、問題は※1の部分です。

     実際にはこのプロジェクトで作成したWeb.Configを参照したいのですが、
     ※1を Nothingとすると C:\Windows\Microsoft.NET\Framework\V2.0.50727\Config\Web.Config を参照し
         "/" とすると、 C:\Inetpub\wwwroot\Web.Config を参照してしまいます。

      目的のパスを指定するにはどのようにすればよいのでしょうか

    2007年3月13日 0:31

回答

  • Request.ApplicationPathを使えばいいんじゃないでしょうか?
    2007年3月13日 0:55
    モデレータ
  • リクエストされた aspx のフォルダに対応する設定であれば、WebConfigrationManager.ConnectionStrings を参照すればよいです。

    Dim connString As System.Configuration.ConnectionStringSettings = WebConfigrationManager.class=identifier>ConnectionStrings("conStr")

     
    OpenWebConfigration は、リクエストされた aspx とは別の場所にある設定値を取得したい場合や、WebConfigurationFileMap を定義したりする場合に必要になりますが、各リクエストに対応した値であれば、WebConfigrationManager の static member から簡単にアクセスできます。
     
    2007年3月13日 16:44

すべての返信

  • Request.ApplicationPathを使えばいいんじゃないでしょうか?
    2007年3月13日 0:55
    モデレータ
  • リクエストされた aspx のフォルダに対応する設定であれば、WebConfigrationManager.ConnectionStrings を参照すればよいです。

    Dim connString As System.Configuration.ConnectionStringSettings = WebConfigrationManager.class=identifier>ConnectionStrings("conStr")

     
    OpenWebConfigration は、リクエストされた aspx とは別の場所にある設定値を取得したい場合や、WebConfigurationFileMap を定義したりする場合に必要になりますが、各リクエストに対応した値であれば、WebConfigrationManager の static member から簡単にアクセスできます。
     
    2007年3月13日 16:44
  • ありがとうございます。ご指摘の通りでした
    2007年3月13日 23:13