ConnectionCtrings["MyDB"].connectionstring
でデータベースに接続しようとすると、null参照例外が発生します。接続文字列を読み取るときにNullエラーが発生する
これはusingステートメントにあり、他の多くのプロジェクトで使用しているのと同じコードですが、null参照を続けていますが、理由はわかりません。
名前が付けられた接続文字列は、同じプロジェクト内のweb.configに正しく名前が付けられているため、権限の問題があるとは思われません。
私は何が欠けていますか?
編集: 私は提案された答えを見ましたが、これは接続文字列があるWeb.Configに文字列を入れることで解決します。
コード:Web.configファイル
で のConnectionString<connectionStrings>
<add name="MyDB" connectionString="Data Source=192....; Initial Catalog=ProjectDb; Integrated Security=false; User Id=user; Password=password;" providerName="System.Data.SqlClient" />
</connectionStrings>
DB
public static Company RetrieveCompany(int id)
{
var cmp = new Company();
try
{
using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyDB"].ConnectionString))
{
con.Open();
using (var cmd = new SqlCommand("RetreiveEmailProc", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@companyId", id);
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{ // code omitted }
}
}
}
catch(Exception ex)
{
}
return cmp;
}
http://stackoverflow.com/questions/11830297/nullreference-at-connectionstringを参照してください。 – Marusyk
この問題はNREに関連していませんが、接続文字列がありません。再オープン。 –