我在WINFORM中一直用“database=News;server=BEAR;Integrated Security=SSPI”连接SQL没问题。但在WEBFORM中却出现下面的错误:用户 'BEAR\ASPNET' 登录失败。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 用户 'BEAR\ASPNET' 登录失败。
--------------------------------------------
请问这是什么原因啊,还有我把数据库改为ACCESS时,同样在WINFORM中正常,但在WEBFORM虽然连接正常,但一连上就会自动把ACCESS数据库改为只读,所以就不能更新数据了,郁闷。是不是WEBFORM中有什么要设置的啊,比如ASPNET帐号等!!!

解决方案 »

  1.   

    都是没权限.
    1.用混合验证.或付给权限.用有权用户
    2.access库,右键-安全-把权限给aspnet.或者Eevryone完全控制
      

  2.   

    我原来也遇到过和楼主一样情况,用sspi模式无法取得权限,但是用混合验证模式就可以
    具体做法是 在sqlserver上建立一个需要密码才能进入的sa帐号,然后用这个帐号连接试试看
    :“database=News;server=BEAR;uid=sa;pwd=****”
      

  3.   

    混合验证,在sqlserver中设置时会提示你输入密码(sa的)用这个可以但不推荐.
    还可以在新建用户(推荐)
      

  4.   

    在sqlserver上建立一个需要密码才能进入的sa帐号.请问SQL中怎么新建帐号啊!!!
      

  5.   

    在SQL安全中把SA的密码取消或者修改
      

  6.   

    A. 添加用户
    下面的示例使用现有的登录 Victoria,将用户 Victoria 添加到当前数据库中现有的 fort_mudge 角色中。EXEC sp_adduser 'Victoria', 'Victoria', 'fort_mudge'B. 添加用户名(使用相同的登录 ID)
    下面的示例为登录 Margaret 将默认用户名 Margaret 添加到当前数据库,该用户名属于默认的 public 角色。EXEC sp_adduser 'Margaret'C. 添加用户(使用不同的用户名)
    下面的示例将 Haroldq 登录添加到当前的数据库中并使用 Harold 用户名,该用户名属于 fort_mudge 角色。EXEC sp_adduser 'Haroldq', 'Harold', 'fort_mudge'
      

  7.   

    SQL Server  企业管理器-安全性-登陆-新建登陆-加一个ASPNET 就行了...
      

  8.   

    将这段
    <appSettings>
    <add key="dsn" value="Data Source=datasource;User ID=username;Password=pwd"/>
    </appSettings>
    放进
    <configuration>
    </configuration>
    之间
    然后连接:
    用一个Connection.cs来存放这样的代码
    using System;
    using System.Data.SqlClient;
    using System.Configuration;
    namespace jony
    {
    /// <summary>
    /// Connection 的摘要说明。
    /// </summary>
    public class Connection
    {
    public static OracleConnection New() {
    //连接数据库
    string dsn=ConfigurationSettings.AppSettings["dsn"];
    SqlConnection conn=new SqlConnection(dsn);
    return conn;
    }
    }
    }以后只要想连接:
    例子:
    public static void DeleteItem(string recordId){
    string deleteStr="DELETE FROM tablename WHERE RecordID='"+recordId+"'";
    SqlConnection con=Class.Connection.New();
    SqlCommand cmd=new SqlCommand(deleteStr,con);
    try{
    con.Open();
    cmd.ExecuteNonQuery();
    }catch{
    }finally{
    con.Close();
    }
    }
      

  9.   

    谢谢大家,莫名其妙的用以前的方法改SQL登入方式,又行了,以前不能改。不知道什么鬼原因!!!