我不断收到连接错误。我知道这些信息是正确的,因为我在过去几分钟内多次使用 SSMS 尝试了它们,所以问题出在 C# 连接字符串中。根据各种谷歌搜索,语法是正确的,只是它不起作用。
try
{
// Get the connection information.
GetSQLConnectInfo(ref sConnect);
// Formulate the connection string.
String strConnect = String.Format("Server=myserver;Database=mydb;User Id=myusername;Password=mypassword;Trusted_Connection=yes;connection timeout=30");
// DATABASE: Create the connection.
SqlConnection oConnection = new SqlConnection(strConnect);
oConnection.Open();
if (ConnectionState.Open != oConnection.State)
return false;
return true;
}
catch
{
}
返回错误:用户“myserver\Guest”登录失败。 错误代码:-2146232060 错误号:18456
从错误消息来看,Open 方法无法识别用户名,因为 Open 尝试使用来宾帐户,这显然是行不通的。
我错过了什么吗?我正在使用 SQL Server 身份验证。
删除
Trusted_Connection=yes
。这将覆盖您的 SQL 身份验证(用户名/密码)设置并尝试以运行应用程序的用户身份登录。
来自文档:
如果 Trusted_Connection 密钥的值为“Yes”,则 UID 和 PWD 密钥都将被忽略。否则,必须指定 UID 密钥。