asp中出现这种错误 '80020009' 的解决方法

IIS6 可以做以下调整。

先在服务里关闭iis admin service服务 
找到windows\system32\inesrv\下的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.

数据读取的先后顺序,竟然也会出现这个问题。

 

另外

http://www.elearning4gurus.com/only4gurus/techlib/miscellaneous/CurrentFAQ-20021215.pdf

这里是 ASPFAQ 3.0 ,这里有很多ASP3.0稀奇古怪错误的介绍。

Request.Form提交的数据太多了,导致IIS报告异常“堆栈溢出. 处理中的数据超过允许的极限”。这是因为iis默认设置中最大只能接受200K的内容。是这里造成的原因。 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

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.

提交页面的代码

<SCRIPT Language=javascript>
//分块上传
function FragmentUp()
{
var tlngFragmentSize = 51100;//50K
var tintFragmentCount = 0;
var tintI = 0;
var tstrContent = new String;
var tstrOuterHTML = new String;
tstrContent = document.form1.content_html.value;
tintFragmentCount = tstrContent.length / tlngFragmentSize + 1;

for(tintI=0;tintI<tintFragmentCount;tintI++){
tstrOuterHTML = tstrOuterHTML+"<INPUT type=\"hidden\" name=\"F07\">";
}

document.form1.F07.outerHTML = tstrOuterHTML;

for(tintI=0;tintI<tintFragmentCount;tintI++){
document.form1.F07[tintI].value = tstrContent.substr(0, tlngFragmentSize);
tstrContent = tstrContent.substr(tlngFragmentSize);
}
}

</SCRIPT>

<form name="form1">
<input type="hidden" name="F07">
<textarea name="content_html"></textarea>
</form>

后台接收处理的页面代码:

<%
dim content
for i=1 to request("F07").count
content=content&request("F07")(i)
next
%>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值