c# – ASP.NET web.config中SQL Server本机客户端的连接字符串

我想从我的ASP.NET应用程序使用SQL Server本机客户端连接到SQL Server 2012.目前,我有一个现有的连接字符串连接使用odbc和工作正常.

<appSettings>
    <add key="StagingConnect" 
         value="Integrated Security=True;Initial Catalog=Staging;Data Source=AUBDSG01.AUYA.NET\INST1"/>
</appSettings>

当我尝试如下时,代码抛出异常

<add key="StagingConnect"  
     value="Provider=SQLNCLI11;Integrated Security=True;Initial Catalog=Staging;Data Source=AUBDSG01.AUYA.NET\INST1"/>

例外:

System.Web.HttpUnhandledException (0x80004005): Exception of type ‘System.Web.HttpUnhandledException’ was thrown.

System.ArgumentException: Keyword not supported: ‘provider’.
at System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable, String connectionString, Boolean buildChain, Hashtable synonyms, Boolean firstKey)
at System.Data.Common.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms, Boolean useOdbcRules)
at System.Data.SqlClient.SqlConnectionString..ctor(String connectionString)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous)
at System.Data.ProviderBase.DbConnectionFactory

如何修改此连接字符串,以便它应通过SQL Server本机客户端11进行连接

最佳答案
由于我的连接字符串没有进入< appSettings>,因此不确定您之前是如何使用它的.它进入一个单独的< connectionStrings>部分. providerName是一个元素,不是字符串本身的一部分.

这是一个例子

  <connectionStrings>
    <clear />
    <add name="xxx" providerName="System.Data.SqlClient" connectionString="Server=(local);Database=yyy;User=zzz;Password=123;MultipleActiveResultSets=True" />
  </connectionStrings>

希望这可以帮助.

转载注明原文:c# – ASP.NET web.config中SQL Server本机客户端的连接字符串 - 代码日志