我也曾遇到过这样的错误,后来在SQL Server2000服务器的“安全性”选项下选择“登录”,在其中新建名称为“ASPNET”的登录选项。(我是先安装的SQL Server2000,再安装的.Net FrameWork,所以在SQL Server2000中自动添加一个ASPNET用户,但是还要自己设置一下)然后在数据库的“用户”下新建名称为“ASPNET”的数据库用户。
如果运行后还是出错,问题应该出在连接上,试试不用信任连接,将SqlConnection对象的ConnectionString属性中Integrated Security=SSPI改为User ID=” ”Password=” ”后,应该可以正确运行。

解决方案 »

  1.   

    这是常见的问题和误解。1、每个安装了.NET Framework的系统会自动产生一个拥有很低权限的账户ASPNET,密码是随机产生的,也就是说每个系统的ASPNET的密码是不同的。2、你在使用Interated Security=SSPI方式登录。这样.NET Framework会把你的机器上ASPNET的密码来登录到SQL Server所在的系统。结果:失败。解决办法:1、使用SQL Server登录方式。就是建一个像sa的一般用户,权限当然不必那么大。使用Integrated Security=False;user id=xxx;pwd=???的方式进行连接。2、在Web.config里面来配置Impersonation。具体可以参考MSDN和其他技术站点,很简单。
      

  2.   

    或者在SQL Server企业管理器里面将ASPNET加入用户中去,给他管理员的权限.
    Integrated Security=SSPI和UID=sa;PWD=''可以同时出现的吗?我感觉好像不可以的.
    前一种是说要用windows集成验证方式来登陆,后者是用户名密码登陆,两者只可取其一的吧?