经典的ASP连接有效;.Net失败.为什么



这在经典 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。不仅如此,如果我将登录名/密码硬编码到连接字符串中,它会返回有关匿名登录的相同错误。

怎么回事?

原来我有不止一个问题。当我将应用移动到其自己的应用程序池并将池的标识设置为实际管理员帐户时,登录问题已解决。(我愿意使用非管理员帐户;只需要先识别/解决问题。

另一个问题是一些缺少视图,并在 DotNet 站点应该查询的数据库中存储进程。是的,经典ASP可以连接到那个数据库和另一个数据库,但是连接性是我用经典ASP测试的,实际上并没有执行所需的查询。DotNet 站点可以连接到并查询具有视图和存储进程的数据库,但在尝试查询缺少这些对象的数据库时给出 404 错误。

不能说我完全清楚事情,因为DotNet网站有时可以 甚至在将数据库移动到其自己的应用程序池之前,也可以从数据库中获取带有对象的数据,有时不会。至少我已经启动并运行了。我会继续尝试。

最新更新