48

アプリケーションを起動すると、次 のメッセージが表示されます。 ConnectionString プロパティが初期化されていません。

Web.config:

<connectionStrings>
    <add name="MyDB"
         connectionString="Data Source=localhost\sqlexpress;Initial Catalog=mydatabase;User Id=myuser;Password=mypassword;" />
</connectionStrings>

スタックは次のとおりです。

System.Data.SqlClient.SqlConnection.PermissionDemand() +4876643
System.Data.SqlClient.SqlConnectionFactory.PermissionDemand(DbConnection outerConnection) +20
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
System.Data.SqlClient.SqlConnection.Open() +122

私は.NETにかなり慣れていないので、これを理解できません。Google で多くの回答を見つけましたが、実際に問題を解決したものはありませんでした。

どういう意味ですか?私の web.config は悪いですか? 私の機能は悪いですか?私の SQL 構成は正しく機能していませんか (私は sqlexpress を使用しています)?

ここでの私の主な問題は、これをデバッグする場所がわからないことです...何でも役に立ちます。

編集:

失敗したコード:

MySQLHelper.ExecuteNonQuery(
ConfigurationManager.AppSettings["ConnectionString"],
CommandType.Text,
sqlQuery,
sqlParams);

sqlQuery は「select * from table」のようなクエリです。ここでは sqlParams は関係ありません。

ここでのもう 1 つの問題は、私の会社が MySQLHelper を使用していることです。他のプロジェクトでは問題なく動作しているので、ここからエラーが発生しないことは 99% です。

コードを見ずにデバッグする方法がない場合は、コードを取得するためにこのヘルパーを作成した人に連絡するのを待つ必要があると思います。

4

8 に答える 8

39

接続文字列の参照は、次のように行う必要があります。

MySQLHelper.ExecuteNonQuery(
ConfigurationManager.ConnectionStrings["MyDB"].ConnectionString,
CommandType.Text,
sqlQuery,
sqlParams);

ConfigurationManager.AppSettings["ConnectionString"]は でAppSettingsという名前のものを探しConnectionStringますが、見つかりません。これが、 named"ConnectionString" property has not been initializedの初期化されたプロパティを探しているため、エラー メッセージが を示した理由です。AppSettingsConnectionString

ConfigurationManager.ConnectionStrings["MyDB"].ConnectionString「MyDB」という名前の接続文字列を探すように指示します。

これは、web.config接続文字列の使用について話している人です

于 2009-06-17T15:48:43.687 に答える
3

接続文字列がAppSettings にありません

あなたが探しているものは次のとおりです。

System.Configuration.ConfigurationManager.ConnectionStrings["MyDB"]...
于 2009-06-17T15:50:58.710 に答える
-2

以下の例のように、()の代わりに[]を使用してください。

SqlDataAdapter adapter = new SqlDataAdapter(sql, ConfigurationManager.ConnectionStrings["FADB_ConnectionString"].ConnectionString);
            DataTable data = new DataTable();
            DataSet ds = new DataSet();
于 2011-02-24T07:05:01.413 に答える