我的Global.asax中有这段代码。当我运行程序的时候出现了错误,提示如下:Login failed for user 'sa'. 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: Login failed for user 'sa'.源错误: 
行 9:          // 在应用程序启动时运行的代码
行 10:         System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection("server=.;database=MyOffice;uid=sa;pwd=sa;");
行 11:         con.Open();
行 12:         string sql = "select count(*) from UserInfo";
行 13:         System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(sql, con);
 
Global.asax中的代码如下<%@ Application Language="C#" %>
<script runat="server">    void Application_Start(object sender, EventArgs e) 
    {
        // 在应用程序启动时运行的代码
        System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection("server=.;database=MyOffice;uid=sa;pwd=sa;");
        con.Open();
        string sql = "select count(*) from UserInfo";
        System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(sql, con);
        int count = Convert.ToInt32(cmd.ExecuteScalar());
        Application["total"]=count;             //Application是个全局变量,每个会话都可对他操作
        Application["online"]=0;
    }
 </script>在SQL Server中。数据库是MyOffice,uid和pwd也同样是sa啊。。请教高手。。速度给我答复啊

解决方案 »

  1.   

    可能你现在的SQL Server为windows验证,如果这样,在数据库属性中将安全选项里的登录模式设成混合验证模式。最后重启SQL SERVER服务即可
      

  2.   

    把连接改成这样看行不行:server=.\SQLEXPRESS;database=MyOffice;uid=sa;pwd=sa;
      

  3.   

    1楼和2楼说字符串问题。可是字符串没有问题啊。
    server=.;database=MyOffice;uid=sa;pwd=sa;
    这个绝对没问题啊。
    3楼说的SQL和WINDOWS验证那个我是设置的混合验证模式,至于4楼的哥们。。
    如果server=.\SQLEXPRESS的话。。会报“无法识别的转义序列”
    也就是那个‘\’是转义字符。用在这里的话会被SQL无法识别的
      

  4.   

    在私下与 ojlovecd (天行健)交流。。问题已经解决。。原因是我用的公司终端。。同时在SQL上设置了不允许远程连接。自己吧路给断掉了。。所以必须用机器IP连接。。同时要吧SQL的远程连接打开。。所以分就给 ojlovecd (天行健)了