登录报错:
异常错误:无法打开登录所请求的数据库 "db_test"。登录失败。用户 'TESE-PC\TEST'登录失败。
创建一个用户,
Integerated Security:
Yes:Windows当前用户登陆认证;
No:用户名密码认证
设置用户名、密码中注意取消密码设置策略,选择用户SQL身份验证登录。
设置连接字符串的用户名、密码:
<addkey="ConnectionString"value="DataSource=.\MSSQLEXPRESS;Initial Catalog=db_test;User ID=test;Password=test;IntegratedSecurity=no;Pooling=False"/>
数据源注意是否错误了,必须与客户端中的数据源保持一致(SQLEXPRESS或MSSQLEXPRESS)再次登录后继续报错:
在与 SQL Server建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server已配置为允许远程连接。 (provider: SQL Network Interfaces,error: 26 -定位指定的服务器/实例时出错)
这次说明登录成功了,但似乎是远程连接未打开,打开SQL配置管理器,启用TCP/IP连接,点击属性,设置127.0.0.1的IP地址连接启用,重启服务。
如果不行,编写测试程序发现问题:
static void Main(string[] args)
{
ArrayList DBNameList = new ArrayList();
string ds = ".\\SQLEXPRESS";
string user = "test";
string pwd = "test";
string connectstring = "Data Source=.\\SQLEXPRESS;Initial Catalog=db_test;User ID=test;Password=test;Integrated Security=no;Pooling=False";
SqlConnection Connection = new SqlConnection(String.Format("Data Source={0};Initial Catalog=db_test;User ID={1};PWD={2};Integrated Security=no;Pooling=False", ds, user, pwd));
DataTable DBNameTable = new DataTable();
SqlDataAdapter Adapter = new SqlDataAdapter("SELECT * FROM information_schema.tables", Connection);
Adapter.Fill(DBNameTable);
foreach (DataRow Row in DBNameTable.Rows)
{
DBNameList.Add(Row[0]);
Console.WriteLine(Row.ToString());
}
Console.WriteLine("OK");
Console.ReadLine();
}