我有一个记录集/分页设置 - 在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中有一个简单的修复???
非常感谢帮助! 非常感谢, 马丁
答案 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,端口