System.Data.SqlClient.SqlException: 用户 'sa' 登录失败。
在用visual studio .net 打开解决方案编译好 执行后出现这个问题.user.config是这样的: <add key="DbCnn" value="server=TOMCAT\TOMCAT;User Id=tomcat;Password=123456;database=polyMedicCentral"/>
数据库,用户名和密码都没错.跟踪程序后:
{System.Data.SqlClient.SqlException}
System.SystemException: {"用户 'tomcat' 登录失败。"}
_errors: {System.Data.SqlClient.SqlErrorCollection}
Class: 14
Errors: {System.Data.SqlClient.SqlErrorCollection}
LineNumber: 0
Message: "用户 'tomcat' 登录失败。"
Number: 18456
Procedure: ""
Server: ""
Source: ".Net SqlClient Data Provider"
State: 1
在用visual studio .net 打开解决方案编译好 执行后出现这个问题.user.config是这样的: <add key="DbCnn" value="server=TOMCAT\TOMCAT;User Id=tomcat;Password=123456;database=polyMedicCentral"/>
数据库,用户名和密码都没错.跟踪程序后:
{System.Data.SqlClient.SqlException}
System.SystemException: {"用户 'tomcat' 登录失败。"}
_errors: {System.Data.SqlClient.SqlErrorCollection}
Class: 14
Errors: {System.Data.SqlClient.SqlErrorCollection}
LineNumber: 0
Message: "用户 'tomcat' 登录失败。"
Number: 18456
Procedure: ""
Server: ""
Source: ".Net SqlClient Data Provider"
State: 1
===============
这种写法是没有问题的,我的数据库是zhoufoxcn\zhoufoxcn呢。检查步骤:
1.在数据库主机上看使用的用户名和密码是否能登录。——如果不能,则是用户名和密码的问题。
2.在别的机子看使用的用户名和密码是否能登录。——如果不能,则有可能没装SP4或者网络防火墙或者网络共享出现问题。
从vs的工具箱中拖个sqlDataAdapter数据组件,然后它会教你自动配置连接的,配完以后把连接字符串取出来就对啦
我的情况是,能正常使用自己编写的链接字符串(用户为sa)。在vs2008中也能正常显示数据库链接(用户为sa),这时用的是DataGridView创建的链接,到这里为止都是正常的。唯一奇怪的是,当我测试的时候vs2008就显示--System.Data.SqlClient.SqlException: 用户 'sa' 登录失败!!我的解决方法——在数据库中,选中“安全性”,右键选择“新建”-“登录”-创建新的用户名和密码;选中“用户映射”,选择用户需要控制的数据库,并勾上“db_owner”;选择状态设为“授予”“启用”。使用新的用户名在DataGridView控件中创建链接后就能正常测试了。我就郁闷了,为什么用sa的时候能在“服务器资源管理器”窗口中正常显示,测试的时候就出错误呢?换新的用户名就正确了。还望高手指点!