分类目录归档:开发语言

The system cannot locate the resource specified.

ASP网站采集程序用的好好的,今天突然出现这问题。本地能正常采集,就是服务器上死活不让采。

The system cannot locate the resource specified.

这个是捕捉到的Err.Description提示。程序如下:

Set xmlHttp = CreateObject("Msx"&"ml2.XM"&"LHT"&"TP.6.0")
xmlHttp.Open "POST", PostUrl, False 
XmlHTTP.setRequestHeader "Content-Length",Len(PostData)  
xmlHttp.setRequestHeader "Content-Type","application/x-www-form-urlencoded" 
xmlHttp.setRequestHeader "Referer", RefererUrl
xmlHttp.Send PostData

Google之,错误原因及其解决方法有不少,罗列一下:

(一)那就是最基本的了,你的服务器不支持xmlhttp或组件版本态低,需要下载相应的组件。这个一般服务器都不需要的,大多数情况下都支持xmlhttp,所以这个情况较少。
(二)msxml3.dll文件可能损坏或该文件使用权限不够(权限这个情况可能性较小),如果是文件损坏的话,你可以到网上下载相应系统环境的msxml3.dll文件替换下(2003系统好像在c:windowssystem32下),需要关闭相应的服务例如iis等才能覆盖。
(三)防火强或杀毒软件禁用了相应的端口,具体该怎么设置要根据不同的软件而定,你可以试着关闭防火墙或杀毒软件后再测试确定是否是这个问题。
(四)重新注册下该组件试试看。开始>>运行: regsvr32 msxml3.dll
(五)DNS解析错误,检查你的网络设置或正确的域名解析访问
(六)检查你的IP筛选的设置(这个不是太了解)
(七)对方资源失效,比如采集某条信息时,对方该条信息不存在导致程序终止错误,也可能是这种情况。这种错误都是出现在调用了 xmlhttp 组件的 Open方法,接着再用Send方法后造成的。当open方法的的 url 参数无法访问时,就会造成 8000005 错误。并且一旦产生这种错误,就会导致应用程序终止,无法继续操作。
(八)进入服务器设置您的IE安全选项(把等级设中或低试试看),在受信任网站里加入您要获取的域名即可。
(九)去微软下载了MSXML 4.0 Service Pack 2 (Microsoft XML Core Services)和Hotfix for MSXML 4.0 Service Pack 2 – KB832414 – 简体中文(KB832414_MSXML4.0_x86.exe)安装后,问题解决了!

仔细看了一下,貌似讲的都跟我这不一样,因为我同个服务器另外一个采集程序能正常采集。于是上服务器上查看,期待能找到点端倪。
将采集网站的网址放服务器上浏览器运行,居然打不开。猜测应该是对方把我的IP给屏蔽掉了。
知道原因就好办了,于是本地采集数据,然后远程插入服务器数据库。搞定。 本地的IP是动态的,每天都变,看你怎么屏蔽,要想彻底搞定我,他只能修改网站代码不让采集了。
道高一尺,魔高一丈~! 嘿嘿~

ASP '80020009' 错误及其解决办法

CSDN 文档中心发表文章的时候,大的,用Word转过来的文章经常会报以下错误:
 错误 ‘80020009’
发生意外。
/Develop/add_sql.asp,行25
今天在把Access里面的数据转到SQL2000里面去,然后再生成静态页面的时候也出现了这样的问题。
而这里第25行的代码只是:
m_Develop_content = Trim(Request.Form(“content”))
这里只是接受数据。应该不是代码的问题。在CSDN搜索了相关帖子,这样的错误也不少,基本上都没有答案,在看到一个帖子的时候,发现有个人说,这是因为iis默认设置中最大只能接受200K的内容。是这里造成的原因。
http://expert.csdn.net/Expert/topic/2100/2100898.xml

 
IIS6 可以做以下调整。
先在服务里关闭iis admin service服务
找到windowssystem32inesrv下的metabase.xml,
打开,找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K
然后重启iis admin service服务
把它修改为51200000(50M)
IIS5.0/4.0 在注册表内 –
Description of the MaxClientRequestBuffer Registry Value
http://support.microsoft.com/?id=260694

Default Sizes in IIS 4 and 5

In IIS 4.0, the default maximum size of request line and header fields is 2 megabytes (MB).
In IIS 5.0, this is reduced to 128 kilobytes (KB).
In IIS 5.0 with Windows 2000 Service Pack 4 installed, this is reduced to 16 KB.
 
另外,在搜索微软的知识库的时候,发现在数据类型是text BLOB 的读取处理的时候,也有80020009错误
 
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q175/2/39.asp&NoWebContent=1

When dealing with BLOB fields from Microsoft SQL Server, you must put them to the right of non-BLOB columns in the resultset. To be safe, you should also read the columns in left-to-right order, so if you have two BLOB columns as the last two columns in your resultset, read the first one and then the second. Do not read them in the reverse order.
数据读取的先后顺序,竟然也会出现这个问题。
看了这么多资料,不解。觉得我这个错误不应该是这些原因造成的。仔细检查代码,发现原来是记录集被我提前关闭了。修改、搞定!
So easy~!