系统环境是XP。用vs2005开发好的Asp.net网站程序,在vs2005中运行一切正常,页面显示正常,数据库查看、删除、插入记录均正常。然而程序放在IIS下通过虚拟目录来运行,却出现数据库无法登录的错误,也就是说连接不上SQL Server 2000数据库。请注意,在IIS下是可以运行的,也即可以看到页面,但是凡要与数据库打交道的地方就会报连接不上数据库的错误。原先怀疑IIS不好,卸载后重装也是如此。你说数据库连接字符串有错?可是用vs2005来运行却好好的。现在就是找不到是何原因导致如此。请高手指教,谢谢!
提示:错误[OleDbException (0x80040e4d)....
1、在SQL Server创建 “电脑名\ASPNET”用户。比如你的是F68DA4CAE6BE404\ASPNET
2、在SQL企业管理器里打开“安全性”文件夹,右击“登录”,选择“新建登录……”。“常规”选项卡,“名称”填F68DA4CAE6BE404\ASPNET,其他默认;“数据库访问”选项卡,指定访问的数据库,我指定的是Northwind数据库,然后给他赋权限:dbo,public就够了。提示:拒绝了对对象 ‘表名’(数据库 ‘’,所有者 ‘’)的SELECT权限。
错误原因:数据库角色中没有勾选设置db_owner角色
解决方法:在新建sql数据库的登录时,数据库要设两个角色:public(默认)角色和db_owner。打开SQL Server企业管理器,依次点击〔安全性〕-〔登录〕,选中您设置的用户,右键-属性-数据库访问,选择您设置的数据库名,勾选db_owner角色