0

構成ファイルに接続文字列があり、次のようにコードで使用しています-

SqlConnection sqlconn = new SqlConnection(ConfigurationManager.ConnectionStrings["DBCentralW2"].ConnectionString);

これからサーバー名とデータベースを取得し、ストアド プロシージャにパラメーターとして渡す必要があります。

以下のように取得しようとしていますが、失敗しています。

SqlConnection sqlconn = new SqlConnection(ConfigurationManager.ConnectionStrings["DBCentralW2"].ConnectionString);
SqlConnectionStringBuilder conbuilder = new SqlConnectionStringBuilder();
conbuilder.ConnectionString = sqlconn.ToString();
string server = conbuilder.DataSource;
string database = conbuilder.InitialCatalog;

構成ファイルからデータベースとサーバー名を取得するのを手伝ってください

4

3 に答える 3

2

接続文字列プロパティを正しく割り当てていない場合は、次のことを試してください。

builder.ConnectionString = ConfigurationManager.ConnectionStrings["DBCentralW2"].ConnectionString;

またはSqlConnectionStringBuilder、接続文字列を使用してクラスを初期化します。

var conBuilder = new SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["DBCentralW2"].ConnectionString);
于 2012-11-19T16:04:29.377 に答える
0

接続文字列をビルドするのではなく、そのまま使用するのではなく、web.configに保存することをお勧めします

web.configで

<add name="connStr" connectionString="Data Source=.\SQLEXPRESS; Initial Catalog=dbtest; Integrated Security=SSPI" />

csファイル内

string connectionString = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
        SqlConnection con = new SqlConnection(connectionString);

        con.Open();
于 2012-11-19T16:04:23.227 に答える
0

以下を試してください:

 System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder();    
        builder.ConnectionString = sqlconn.ConnectionString;
        string server = builder.DataSource;
        string database = builder.InitialCatalog;
于 2012-11-19T16:03:20.520 に答える