这在Classic ASP网站中有效:
sConnString = "Provider=SQLOLEDB;Data Source=MySerer;Initial Catalog=MyDB;Integrated Security=SSPI;"
在.Net网站中,以下连接字符串得到“用户'NT AUTHORITY \ ANONYMOUS LOGON'登录失败”错误。
<add name="Production"
connectionString="Data Source=MyServer;Initial Catalog=MyDB;Integrated Security=SSPI;"
providerName="System.Data.SqlClient" />
两个都在IIS上的同一应用程序池中运行,并且两个站点都设置为使用同一管理员用户进行连接,如“基本设置”中所述。
看来,尽管.Net站点以管理员身份运行,但未能将其传递给SQL Server。不仅如此,如果我将登录名/密码硬编码到连接字符串中,还会返回有关匿名登录的相同错误。
怎么了?
答案 0 :(得分:1)
原来,我有多个问题。当我将应用程序移至其自己的应用程序池并将该池的标识设置为实际的管理员帐户时,登录问题已解决。 (我可以使用非管理员帐户;只需要先确定/解决问题即可。)
另一个问题是,DotNet站点应该查询的数据库中缺少一些视图和存储的proc。是的,Classic ASP可以连接到该数据库和另一个数据库,但是连接性是我用Classic ASP测试的,实际上没有执行所需的查询。 DotNet站点可以连接并查询具有视图和存储过程的数据库,但是在尝试查询缺少那些对象的数据库时出现了404错误。
我不能说我对事情很清楚,因为DotNet网站有时可以 甚至在将数据移动到其自己的应用程序池之前,有时甚至还没有从对象中获得数据。至少我已经开始跑步了。我将继续尝试。