Recordset Paging在IIS6中工作,但在IIIS7中不工作

时间:2010-04-06 12:47:44

标签: asp-classic paging

我有一个记录集/分页设置 - 在IIS6中工作正常但是当我在IIS7服务器上运行该站点时,我收到以下错误:

    Microsoft OLE DB Provider for SQL Server  error '80004005'

[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.

/orders.asp, line 197

代码如下所示:

  Set objPagingConn = Server.CreateObject("ADODB.Connection")

objPagingConn.Open CONN_STRING

设置objPagingRS = Server.CreateObject(“ADODB.Recordset”)    objPagingRS.PageSize = iPageSize    objPagingRS.CacheSize = iPageSize    objPagingRS.Open strSQL,objPagingConn,adOpenStatic,adLockReadOnly,adCmdText

iPageCount = objPagingRS.PageCount   iRecordCount = objPagingRS.RecordCount

第197行是objPagingConn,Open ...行。 我有大约10个这样的网站要迁移 - 在IIS7中有一个简单的修复???

非常感谢帮助! 非常感谢, 马丁

3 个答案:

答案 0 :(得分:1)

经过多次实验,我发现了一个有效的连接字符串:

Provider=SQLOLEDB.1;Server=123.123.123.123,1433;Initial Catalog=mydb;Persist Security Info=True;User ID=sqladmin;Password=password;

我希望这可以帮助遇到同样问题的其他人 - 这一直困扰着我 所以 长!

答案 1 :(得分:0)

听起来你在转换时丢失了对sql server的权限。你的连接字符串是什么?您是否尝试使用可信连接?如果是这样,也许IIS7在不同的帐户下运行。

答案 2 :(得分:0)

看看这个MSDN article

  

您可能会收到此错误消息   当满足以下条件时   是的:

     
      
  • SQL Server 2005或SQL Server 2000安装在群集上。
  •   
  • 您正在使用TCP / IP连接到SQL Server命名实例   插座。
  •   
  • 在客户端域上启用了IPSec策略。
  •   
  • 服务器域上未启用IPSec策略。
  •   

他们建议使用端口号或命名管道名称更新连接字符串:

  

提供商= SQLOLEDB.1;集成   安全= SSPI;坚持安全   Info = False;用户ID = clientID;数据   源= TCP:TcpIpAddress,端口