我在服务器本地拥有数据库,我正在创建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时,它会在
中抛出异常类型&#39; System.Data.SqlClient.SqlException&#39;的异常发生在System.Data.dll中但未在用户代码中处理
其他信息:用户登录失败
答案 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;
如果它不起作用,问题可能在连接字符串本身,因为它可能会有所不同,具体取决于数据库。