请注意,如果您使用匿名身份验证,这将基于您的asp应用程序池的身份验证命中SQL。
我看到你添加了一条评论,注意到IIS 5,通过转到站点属性,选择“目录安全性”选项卡,然后单击“编辑”按钮,可以在ISS5上设置站点以使用Windows身份验证在“匿名访问和身份验证控制”部分。禁用匿名身份验证并勾选“集成Windows安全”选项。
(注:Web服务器将需要能够进行身份验证凭据,所以你可能会碰到NTLM和Kerberos问题,根据您的域配置 - 谨慎行事!)
这应该执行ASP文件作为经过身份验证的用户,在这种情况下,您的连接字符串将能够使用受信任的连接。
这里有几个选择取决于您可以使用哪些提供者。
例如,与SQL Native Client的9.0 OLE DB提供程序,您可以使用:
Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;
Native Client的10略有不同:
Provider=SQLNCLI10;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;
我更喜欢SQLOLEDB提供商(IVE遇到了麻烦与SQL SERVER驱动程序和VARCHAR(MAX)在过去):
Provider=SQLOLEDB;Data Source=Your_Server_Name;Initial Catalog=myDataBase;Integrated Security=SSPI;
注意:突然更改身份验证可能会破坏其他的东西 - 我当然只是建议在SQL服务器上添加一个SQL凭据,并在连接字符串中使用它。
您是否也在使用集成安全认证网站的用户或者是匿名用户帐户下运行的网站? – AnthonyWJones 2012-02-29 14:20:49
我有一个问题:我在本地IIS上测试它,我想它使用不允许访问数据库的ASP.NET帐户。你能告诉我如何配置我的IIS或虚拟的dicrectory使用我自己的帐户(我用于登录到Windows)?本地IIS没有应用程序池,我不知道如何设置用于数据库访问的用户。 – Roman 2012-02-29 14:32:08
我的IIS版本是5.1(Win XP Pro) – Roman 2012-02-29 14:48:02