系统环境是XP。用vs2005开发好的Asp.net网站程序,在vs2005中运行一切正常,页面显示正常,数据库查看、删除、插入记录均正常。然而程序放在IIS下通过虚拟目录来运行,却出现数据库无法登录的错误,也就是说连接不上SQL Server 2000数据库。请注意,在IIS下是可以运行的,也即可以看到页面,但是凡要与数据库打交道的地方就会报连接不上数据库的错误。原先怀疑IIS不好,卸载后重装也是如此。你说数据库连接字符串有错?可是用vs2005来运行却好好的。现在就是找不到是何原因导致如此。请高手指教,谢谢!

解决方案 »

  1.   

    oracle9有这个问题。是目录权限问题。
      

  2.   

    对目录加NetWork 访问权限即可,不行加everyone权限
      

  3.   

    还要把NetWork加到Administrator组中
      

  4.   

    应该不是IIS的问题,是数据库的问题..我也遇到过类似的..下面是我遇到的,发来,希望对你有帮助:
    提示:错误[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角色
      

  5.   

    修改windows下temp目录的所有权,添加everyone就可以了。但不知道什么原因造成的。