web.config 中的 ConnectionString 连接到 SQL 服务器
ConnectionString in the web.config to connect to SQL Server
我在服务器本地有数据库,我正在创建 Web API。通过 windows 身份验证,我可以进入 SQL 服务器并从 SQL Server Management Studio 访问数据库和 table。但是有了这个连接字符串
<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 时它会在
中抛出异常
An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll but was not handled in user code
Additional information: Login failed for user
如果需要,勾选 authentication mode of your SQL-Server, edit。
也许,您需要在连接字符串中使用 Integrated Security。因此,您无需在连接字符串中设置用户 ID 和密码,但需要 运行 您的应用程序具有受信任用户的凭据。
这是我自己使用的和它的工作原理。
添加
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;
如果它不起作用,问题可能出在连接字符串本身,因为它可能因数据库而略有不同。
我在服务器本地有数据库,我正在创建 Web API。通过 windows 身份验证,我可以进入 SQL 服务器并从 SQL Server Management Studio 访问数据库和 table。但是有了这个连接字符串
<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 时它会在
中抛出异常An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll but was not handled in user code
Additional information: Login failed for user
如果需要,勾选 authentication mode of your SQL-Server, edit。
也许,您需要在连接字符串中使用 Integrated Security。因此,您无需在连接字符串中设置用户 ID 和密码,但需要 运行 您的应用程序具有受信任用户的凭据。
这是我自己使用的和它的工作原理。
添加
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;
如果它不起作用,问题可能出在连接字符串本身,因为它可能因数据库而略有不同。