我试图将我们必须使用的遗留应用程序迁移到Windows Server 2008 x64和IIS7。 它是用传统ASP编写的,并连接到SQL Server 2005数据库。
但是,当页面运行时,我收到错误:
[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
我使用的连接string是: Driver=SQL Server; Server=SERVERNAME; Initial Catalog=DBNAME; Driver=SQL Server; Server=SERVERNAME; Initial Catalog=DBNAME; 当我在32位的Win2k3服务器上运行匿名login时,我看不到任何理由,它使用DOMAINNAME \ SERVERNAME $访问SQL Server。
我有以下设置。
SQL Server 2005 – 以混合模式运行。 IIS7应用程序池 – 允许将32位应用程序设置为True。
我还以SQL Server上的用户身份添加了服务器。
我已经尝试了一些东西,我开始用尽想法。
我认为你的odbc连接使用了错误的数据库驱动。 MS SQL 2005使用SQL Native Client。
Driver = SQL Native Client; UID =用户名; PWD =密码; 服务器=服务器; 初始目录= DBNAME;
您可以在此处下载安装程序: http : //www.microsoft.com/downloads/details.aspx? displaylang=en& FamilyID= df0ba5aa-b4bd-4705-aa0a- b477ba72a9cb
我相信你需要添加一个属性到你的连接string,这将允许IIS7中的应用程序池帐户在SQL Server上进行身份validation。 见下文:
Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;
Trusted_Connection部分将允许IIS使用应用程序池帐户的凭据进行连接。 如果这是在机器帐户下运行,如您所说,那么您在SQL Server上创build的login将起作用。