web.config中的ConnectionString连接到SQL Server

时间:2016-12-21 08:27:25

标签: c# asp.net sql-server asp.net-web-api connection-string

我在服务器本地拥有数据库,我正在创建Web API。使用Windows身份验证,我可以进入SQL服务器并从SQL Server Management Studio访问数据库和表。但是使用此连接字符串

<connectionStrings>
    <add name="DBConnection"
         providerName="System.Data.SqlClient"
         connectionString="Data Source=NameoftheServer;Initial Catalog=NameofDatabase;Integrated Security=False;User Id=UserIDusedin nManagementStudio;Password=Password;MultipleActiveResultSets=True" />
</connectionStrings>

以及我将其作为

提供的Web API
  string strcon = ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString;
   SqlConnection DbConnection = new SqlConnection(strcon);
   DbConnection.Open();

但是当我尝试调用API时,它会在

中抛出异常

enter image description here

  

类型&#39; System.Data.SqlClient.SqlException&#39;的异常发生在System.Data.dll中但未在用户代码中处理

     

其他信息:用户登录失败

enter image description here

2 个答案:

答案 0 :(得分:2)

检查SQL-Server的authentication mode,如果需要,请edit

也许,您需要在连接字符串中使用Integrated Security。因此,您无需在连接字符串中设置用户ID和passowrd,但需要使用受信任用户的凭据运行您的应用程序。

答案 1 :(得分:0)

这就是我用自己及其工作的方式。

添加

name = "DBConnection"
providerName = "System.Data.SqlClient"
connectionString = "Data Source=Source;Initial Catalog=DatabaseName;User ID=User;Password=Password;"

conn = new SqlConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString;

如果它不起作用,问题可能在连接字符串本身,因为它可能会有所不同,具体取决于数据库。