System.Data.SqlClient.SqlException: 用‘E2E73C3A33A34F6/ASPNET’登录失败的解决办法: (此处的‘E2E73C3A33A34F6’是我的机器名)
由于他的数据库连接语句中没有采用用户名和密码验证,采用的是windows集成验证,所以无法连接数据库。
解决方法很简单,加上ASPNET这个账号,赋予权限即可,具体方法如下:
1、企业管理器--》安全性--》登录名--》(右键)新建登录名--》名称(在文本框中添加E2E73C3A33A34F6/ASPNET这个用户);
2、然后在服务器角色一栏中双击打开sysadmin--》添加--》浏览--》选中"E2E73C3A33A34F6/ASPNET"--》确定即可;
这一步可能不需要就行:(3、在数据库访问一栏中选择所要访问的数据库,然后在下面对话框中将db_owner选上,确定即可!)
执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 用户 'XXX/ASPNET' 登录失败。 这是怎么回事啊? 因为你的程序连接SQLServer的连接字符串是用了windows集成登陆,
方法一: 你可以改成用数据库帐号密码登陆。连接字符串的写法是: server=localhost;uid=sa;pwd=xxxx;database=master; server是数据库服务器的机器名或者IP,如果是同一台机可以用localhost uid是数据库登陆帐号 pwd是数据库密码 database是数据库初始owner名称对于我们的程序就是将下面的一句中的 server=.;database=onnetbooksell;uid=sa;pwd=;Trusted_Connection=yesTrusted_Connection=yes去掉就可以了. 方法二: 第一步把'NT AUTHORITY/NETWORK SERVICE' 添加到Administrator组中 我的电脑-->右键-->管理-->本地用户和组 选择“组”-->双击Administrators-->单击“添加”-->单击“高级”-->单击“立即查找”-->在下面的列表中选择Network Service用户-->两次单击“确定”-->加入。
第二步 在企业管理器中加入Network Service用户 打开Sql Server企业管理器-->选择数据库实例-->打开“安全性”节点-->选择“登录”-->在右边的列表中单击右键-->选择“新建登录”-->在“常规”选项卡中单击“名称”旁边的按钮“...”-->选择“Administrators”组-->单击下面的“成员”按钮-->选择“Network Service”-->单击“添加”按钮-->单击“确定”,返回“新建登录”对话框-->保证身份验证类型为“windows验证”和“允许访问”-->单击“确定”-->关闭“企业管理器”
第三步 重新运行asp.net程序,数据库连接字符串选择windows验证即可。 以上针对win2003,如果是win2000 加ASPNET用户