使用IIS 7.5在32位Windows 7上运行经典ASP应用程序

时间:2011-12-28 15:15:11

标签: sql-server windows-7 iis-7 asp-classic database-connection

我最近将计算机从XP升级到Windows 7。我使用的是IIS 6.0,但我现在使用的是IIS 7.5。当我在我的XP机器上时,我能够运行和查看我的经典ASP 页面。我正在工作,能够从我的本地驱动器运行经典ASP页面。我正在使用SQL Server 2005.我使用.NET Framework 2.0版的应用程序池设置IIS 7.5。当我尝试运行该页面时,我收到错误:“用于ODBC驱动程序的Microsoft OLE DB提供程序错误'80004005'[Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序” 。我的代码如下所示:

randomConnection = "Provider=SQLOLEDB;Data Source=server\instance;Initial Catalog=myDataBase;User Id=MyFakeUserID;Password=MyFakePassword;"
Set someRS = Server.CreateObject("ADODB.RecordSet")
mySQLStatement = "SELECT DISTINCT CarInfo.CarMake, CarInfo.CarColor FROM CarInfo"
someRS.Open mySQLStatement, randomConnection

最后一行的代码错误。在完成所有这些之后,我的代码还有更多功能。所有代码都适用于IIS 6.0。唯一的变化是我切换到Windows 7 32位和IIS 7.5。因为我有IIS 7.5,是否有一些需要特殊的东西?我已经在根目录中创建了测试ASP页面而没有任何数据库逻辑,并且页面呈现得很好。

2 个答案:

答案 0 :(得分:0)

您的连接字符串使用了错误的提供程序 - SQLOLEDB SQL Server 2000 or SQL Server 7的数据提供程序。您应该根据SQL Server 2005 connection strings使用 SQLNCLI (或 SQLNCLI10 )。

试试这个......

Provider=SQLNCLI;Data Source=server\instance;Initial Catalog=myDataBase;User Id=MyFakeUserID;Password=MyFakePassword;

您还尝试使用mySQLStatement作为连接字符串打开连接。您需要重新访问ADODB中how to connectrequest data上的文档。

答案 1 :(得分:0)

如果您更改连接到服务器的方式,它是否有效或给您一个不同的错误?我在使用上面的版本和我们使用的版本之间出现了不同的错误(我在下面得到的错误是因为我没有名为server \ instance的实例):

Set someRS = Server.CreateObject ("ADODB.Command")
someRS.ActiveConnection = "Provider=SQLOLEDB;Data Source=server\instance;Initial Catalog=myDataBase;User Id=MyFakeUserID;Password=MyFakePassword;"
someRS.CommandText = "SELECT DISTINCT CarInfo.CarMake, CarInfo.CarColor FROM CarInfo" 
someRS.Prepared = true

Set someRSResults = someRS.Execute

此外,我们使用SQLOLEDB,它与SQL Server 2000,2005和2008一起使用。也许我们需要将它更新到后者,但它应该可以工作。