1、web.config中的代码如下:
  <appSettings>
  <add key="ConnectionString" value="server=localhost;database=OVERTIME;Uid=sa;pwd="/>
  </appSettings>
其中OVERTIME是我在ODBC数据源中建立的一个数据源名称,SQL2K中也有个数据库名称跟它一样。
2、.cx文件中的代码如下:
public partial class _Default : System.Web.UI.Page 
{
    public SqlConnection GetConnection()
    {
        string connStr = ConfigurationManager.AppSettings["ConnectionString"].ToString();
        SqlConnection sqlConn = new SqlConnection(connStr);
        return sqlConn;
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        SqlConnection sqlConn = GetConnection();
        sqlConn.Open();
        String sqlStr = "select * from enrol";
        SqlCommand sqlCom = new SqlCommand(sqlStr, sqlConn);
        SqlDataReader dr = sqlCom.ExecuteReader();
        GridView1.DataSource = dr;
        GridView1.DataBind();
        dr.Close();
        sqlConn.Close();    }
    
}当我运行点击Button1触发Button1_Click事件时在sqlConn.Open();
出错,一个框框提示:
用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联不懂是什么原因?OVERTIME这个数据源我用VB做的程序都是按sa进行登录的,运行的好好的,不懂.NET中要怎么设置么?谢谢高手。
3、我安装完IIS,再装VS2008,数据库原来机子上有MS SQL2K的,如果想连接数据库,是不是还要设置别的地方?谢谢啊!

解决方案 »

  1.   

     这一问题一般是由于SQL Server未集成Windows身份验证导致的,所以解决方案为: 
    1 打开SQL Server企业管理器。 
    2 选择服务器名称上右键选择“编辑SQL Server注册属性”,然后在对话框中选择“使用windows身份验证”。 
    3 试试一试,不行。在看看安全性设置 
    4 同样右键,选择“属性”,然后打开“安全性”选项卡。
    5 在选项卡中,选择身份验证为“SQL Server和 Windows ”,其他不变 
    6 OK,成功了。
      

  2.   


    谢谢!
    1、我在同台电脑上写的VB程序都是按sa同样的方法登录的,如果改了话VB的程序就连接不上了。
    2、我电脑原来就有装MS SQL2K,今天先装了IIS,再装VS2008,VS装完有自带的SQL2005,跟这个有没关系?会不会VS默认是连接到SQL2005上?要不要怎么设置到SQL2K呢?谢谢啊!
      

  3.   

    将数据库改为WINDOW身份验证或者是个PWD配置一个和数据库相同的密码
      

  4.   

    我在vb程序里同样用sa,密码为空,程序都能正常登录的。