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

解决方案 »

  1.   

    server=TOMCAT\TOMCAT???这是什么?是主机?pwd=123456
      

  2.   

    server=TOMCAT\TOMCAT 应该是主机+数据库实例名的 意思
      

  3.   

    查询器和SQL Server Enterprise Manager都能连上
      

  4.   

    polyMedicCentra这个database,里面有tomcat这个用户的访问权限吗?
      

  5.   

    那应该是服务器名写错了吧..server=TOMCAT\TOMCAT应该是这里的问题..
      

  6.   

    server=TOMCAT\TOMCAT
    ===============
    这种写法是没有问题的,我的数据库是zhoufoxcn\zhoufoxcn呢。检查步骤:
    1.在数据库主机上看使用的用户名和密码是否能登录。——如果不能,则是用户名和密码的问题。
    2.在别的机子看使用的用户名和密码是否能登录。——如果不能,则有可能没装SP4或者网络防火墙或者网络共享出现问题。
      

  7.   

    连接字符有问题,具体不知道什么原因,不过有个办法可以解决:
    从vs的工具箱中拖个sqlDataAdapter数据组件,然后它会教你自动配置连接的,配完以后把连接字符串取出来就对啦
      

  8.   

    完全理解你的无奈……因为我也弄了好几天。
    我的情况是,能正常使用自己编写的链接字符串(用户为sa)。在vs2008中也能正常显示数据库链接(用户为sa),这时用的是DataGridView创建的链接,到这里为止都是正常的。唯一奇怪的是,当我测试的时候vs2008就显示--System.Data.SqlClient.SqlException: 用户 'sa' 登录失败!!我的解决方法——在数据库中,选中“安全性”,右键选择“新建”-“登录”-创建新的用户名和密码;选中“用户映射”,选择用户需要控制的数据库,并勾上“db_owner”;选择状态设为“授予”“启用”。使用新的用户名在DataGridView控件中创建链接后就能正常测试了。我就郁闷了,为什么用sa的时候能在“服务器资源管理器”窗口中正常显示,测试的时候就出错误呢?换新的用户名就正确了。还望高手指点!