如果 asp 程序在 iis 中的安全设置并非使用 windows nt 集成验证,当用户访问时,iis 使用 iusr_xxx(服务器名称)的身份运行程序,从而也用 iusr_xxx 登录 sql server 访问数据库,因此你在 sql server 的 security 增加的 login 应该是 iusr_xxx,而且还必须指定此 login 可以访问论坛的数据库如果 sql server 和 iis 在同一部机器上,在 connectionstring 或者 odbc dsn 中可以填 (local) 也可以填服务器名称

解决方案 »

  1.   

    > lonelyghost() 
    >此你在 sql server 的 security 增加的 login 应该是 iusr_xxx,而且还
    >必须指定此 login 可以访问论坛的数据库没听说过。服务器名localhost
    登录ID和密码使用在SQLSERVER中设置的就可以了,用NT系统无任何关系。SQLSERVER安装完毕要设置成允许sql server用户登录,一般默认是windows登录用户。
      

  2.   

    “安装时要用填入服务器名称,登陆ID,密码”这句话是什么意思?
    要求输入你服务器上“SQL SERVER”的吗?如果是的话,你只要输入你机器相应的参数就可以了,注意“sa”默认的密码为空;如果是其它的话,你就要看看相应的说明文档了,注意下载下来的压缩包里面的文本性的说明文件。
      

  3.   

    如果你是指asp程序连接不上sql server的话,
    lonelyghost() 说得对!要在sql server里建个用户名iusr_xxx(服务器名称),这个名字在你的nt用户里有,你可以看一下,就用那个名字。然后给这个用户相应的数据库访问权限就可以了!
      

  4.   

    真奇怪,我以前用在asp里用随便创建的一个用户连接sql server,为什么一连就通呢?
      

  5.   

    其实要有效地判断问题究竟出现在哪里,应该在第一次连接数据库时用 on error resume next 和 err 对象来截取出错信息,一旦出错,写在页面上或者写到日志文件中即使自己不能判断出错原因,将这样的出错信息 paste 出来,也会使发问更有效。但我感到很奇怪的就是很多 asp programmer 似乎从来不用 on error,也不用 debugger,但凭主观推测。//shrug
      

  6.   

    其实要清楚问题出在哪里,只需要用 on error resume next 和 err 对象在 connect db 之后获取出错信息,然后写在页面上或者写在日志里。如此即使自己不能判断原因,将出错信息 paste 出来也会使得发问更加有效。但我感到很奇怪,很多 asp programmers 似乎从来不用 on error resume next,也不用 debugger,更加不使用日志,单单喜欢凭主观推测。//shrug