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

Sql server 使用IIS 7.5在32位Windows 7上运行经典ASP应用程序,sql-server,windows-7,iis-7,asp-classic,database-connection,Sql Server,Windows 7,Iis 7,Asp Classic,Database Connection,我最近把电脑从XP升级到Windows7。我以前使用的是IIS 6.0,但现在使用的是IIS 7.5。当我在我的XP机器上时,我能够运行和查看我的经典ASP页面。我正在努力从本地驱动器运行一个经典的ASP页面。我正在使用SQLServer2005。我使用.NET Framework 2.0版的应用程序池设置了IIS 7.5。当我尝试运行该页面时,会出现错误:Microsoft OLE DB Provider for ODBC驱动程序错误“80004005”[Microsoft][ODBC驱动程序

我最近把电脑从XP升级到Windows7。我以前使用的是IIS 6.0,但现在使用的是IIS 7.5。当我在我的XP机器上时,我能够运行和查看我的经典ASP页面。我正在努力从本地驱动器运行一个经典的ASP页面。我正在使用SQLServer2005。我使用.NET Framework 2.0版的应用程序池设置了IIS 7.5。当我尝试运行该页面时,会出现错误:Microsoft OLE DB Provider for ODBC驱动程序错误“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中都运行良好。唯一的变化是我切换到WindowsSeven 32位和IIS7.5。自从我有了iis7.5,有什么特别的东西需要下载吗?我在根目录中创建了没有任何数据库逻辑的测试ASP页,该页呈现得很好。

您的连接字符串使用了错误的提供程序-SQLOLEDB是的数据提供程序。您应该根据需要使用SQLNCLI或SQLNCLI10

试试这个

Provider=SQLNCLI;数据源=服务器\实例;初始目录=myDataBase;用户Id=MyFakeUserID;Password=MyFakePassword


您还试图使用mySQLStatement作为连接字符串打开连接。您需要重新查看ADODB上的文档。

如果您更改了连接到服务器的方式,它是否正常工作或出现其他错误?在使用上面的版本和我们使用的版本之间,我得到了不同的错误下面的错误是因为我没有名为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,它与SQLServer2000、2005和2008一起使用。也许我们需要将它更新到后面的版本,但它应该可以工作。

我下载了最新的MDAC。是否还有其他我可能会丢失的内容?我尝试输入SQLNCLI并重新启动IIS。结果是一样的。我使用SQLNCLI10进行了尝试,得到了相同的结果。请尝试更改IIS应用程序池高级设置,以将32位应用程序启用为true。我已尝试进入应用程序池。我右键单击并转到高级设置,但该选项不存在。我想它不在那里,因为我已经在32位平台上了。你能验证有一个SQL实例在为指定的数据源运行吗?我不知道怎么做。仍然是数据库连接的一个障碍它让我通过了这一行,但是someRS.EOF错误地说它不受支持。下一行我已经更新了上面的代码,尝试使用someRSResults访问您的数据,例如someRSResults.EOF等。它需要初始化为什么?它在该行中断,表示someRSResults未定义。是否添加了设置someRSResults=someRS。执行上面编辑中的行?嗯。。您是否启用了显式选项?你能发布你所有的代码,去掉任何敏感的东西吗?