2011-12-28 97 views
1

我最近将计算机从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 Driver Manager]未找到数据源名称并且没有指定默认驱动程序”。我的代码如下所示:使用IIS 7.5在32位Windows 7上运行经典ASP应用程序

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页面,没有任何数据库逻辑,页面呈现得很好。

+0

我下载了最新的MDAC。还有另一个我可能会失踪的? – 2011-12-28 15:30:44

回答

0

您的连接字符串使用了错误的提供程序 - SQLOLEDBSQL 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

+0

我试过放入SQLNCLI并重新启动IIS。它有相同的结果。我用SQLNCLI10试了一下,结果相同。 – 2011-12-28 15:49:33

+0

尝试更改IIS应用程序池高级设置以使32位应用程序成为true。 – SliverNinja 2011-12-28 15:57:08

+0

我试过进入App Pool。我右键单击并前往设置,该选项不存在。我认为它不在那里,因为我已经在32位平台上。 – 2011-12-28 16:00:38

0

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

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一起工作过了。也许我们需要将它更新到更新版本,但它应该可以工作。

+0

它让我通过那条线,但一些RS.EOF错误说它不支持。 (进一步下行) – 2011-12-28 16:05:40

+0

我已经更新了我的代码,尝试使用一些RSResults来访问您的数据(例如someRSResults.EOF等)。 – akiller 2011-12-28 16:07:40

+0

它需要初始化为什么?它打破了那条线,说一些RSResults是未定义的。 – 2011-12-28 16:12:31

相关问题