2013-07-08 15 views
6

データベースを照会するVisual Studio 2012 ASP.NET MVCアプリケーションがあります。 web.configファイルに接続文字列を保存することをお勧めします。 ConnStringと呼ばれる接続文字列が配置されています。Visual Studio 2012 ASP.NET MVC接続文字列Web.Config

<connectionStrings> 
     <add name="ConnString" connectionString="Data Source=IP_OF_SERVER,PORT; Initial Catalog=DATABASE_NAME; UID=USERNAME; pwd=PASSWORD; Integrated Security=True;"/> 
    </connectionStrings> 

私は、接続文字列を取得したいのC#、私が使用して:

String connStr = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString; 

アプリはこのラインで死ぬと、次の例外がスローされます。

Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object. 

私が含まれています:

using System.Configuration; 

ページの上部に表示されますが、それでも失敗します。私はusing System.WebConfigurationを使ってみましたが、まだ文字列を取得できません。どのように文字列を取得するのですか?

+1

web.configファイルでは、の下にあるノードはありますか? –

+0

ConfigurationManager.ConnectionStrings ["ConnString"]だけを試してください。ToString() – ckv

+0

@RyanWeir - はい、ノードの直接の子です。 – Jonathan

答えて

2
このような接続文字列の属性として providerName="System.Data.SqlClient"を含めるようにweb.configファイルを変更し

:あなたの接続文字列にproviderName="System.Data.SqlClient"を追加するために見逃している

<connectionStrings> 
     <add name="ConnString" connectionString="Data Source=IP_OF_SERVER,PORT; Initial Catalog=DATABASE_NAME; UID=USERNAME; pwd=PASSWORD; Integrated Security=True;" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
+0

ありがとう、問題は実際に私が間違ったweb.configファイルを使用していたという事実でした! – Jonathan

1

変更あなたのconnectiong文字列に:

<connectionStrings> 
      <add name="ConnString" connectionString="Data Source=IP_OF_SERVER,PORT; Initial Catalog=DATABASE_NAME; UID=USERNAME; pwd=PASSWORD; Integrated Security=True;" providerName="System.Data.SqlClient" /> 
     </connectionStrings> 

よろしく

+0

これはプロバイダを無視するため、ConfigurationManagerには影響しません。それはADO.netのみで使用されています –

1

が、私はこの質問に答えるために新しい何もないが、私はいくつかの説明をさせていただきたいと思い、

System.Data.SqlClient 

その.NET FrameworkのSQL Serverのデータプロバイダ。 web.configでは、ProviderName属性の値としてSystem.Data.SqlClientを設定する必要があります。これは、使用している.NET Frameworkデータプロバイダです。

あなたは、あなたが

MySql .Net Connector 

必要そのしかし、あなたの場合には、そのが欠けを使用することのMySQLを使用してアプリケーションを接続する必要がある場合は、エラーメッセージを取得している理由は、thatsの。

[ここをクリックしてください] [http://msdn.microsoft.com/en-US/library/htw9h4z3(v = VS.80).aspx]どのようなエラーをよりよく理解できるかあなたはそれを修正しています。

<configuration> 
    <connectionStrings> 
    <add name="Northwind" 
     connectionString="Data Source=Data Source=IP_OF_SERVER,PORT; Initial Catalog=DATABASE_NAME; UID=USERNAME; pwd=PASSWORD; Integrated Security=True;" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
</configuration> 
関連する問題