错误类型:ADODB.Recordset (0x800A0BB9),帮忙看看来啊,急,出错不是一次两次了!

liuyanlin 2004-08-02 04:10:53
我用的是access的数据库,不知道怎么回事,很不稳定,网页大部分的时候是好的,有时候莫名其妙就不能访问,把机器重新启动以后,大部分时间能解决问题,但有时候也不能,到底是什么问题啊,大家帮忙讨论一下啊,
错误类型:
ADODB.Recordset (0x800A0BB9)
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
/power/dbmanager/table_admin.asp, 第 26 行


浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Alexa Toolbar)

网页:
GET /power/dbmanager/table_admin.asp
...全文
308 点赞 收藏 32
写回复
32 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
liuyanlin 2004-08-05
谢谢大家的帮忙,也许只能说能说是硬盘格式什么的原因,至于其他的原因,我自己再慢慢找吧,通过这两天的改错,感觉自己学到了不少东西,谢谢大家,再次了,可惜分不够,不然给大家都给上了,大家分着点吧,
回复
thor 2004-08-04
如果使用jet.4的话,没有数据引擎是不行的,所以建议使用microsoft access driver (*.mdb),而且不容易造成连接未释放的问题。对于使用jet.4,必须在使用完后关闭连接,否则当asp不能自动释放连接的时候,数据库文件可能处于锁定状态,就会出错。另外正常情况下rs可以自动关闭和释放,但是不排除未释放的情况。并建议对每种rs使用指定的打开方式,不指定的默认打开状态可能不一定满足要求。
回复
liuyanlin 2004-08-04
晕死,这次是自己搞错了,
<!------------#incldue file= "inc/conn.asp "------------- >
incldue ,haha,,,
回复
liuyanlin 2004-08-04
god,终于等到出错的时候了,按照楼上的大虾们出的主意,全改了,还出错啊,
Provider=MSDASQL.1;Extended Properties="DBQ=E:\computer\DataBase\computer.mdb;Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;",
conn.asp
<%
db="DataBase/computer.mdb" '数据库文件的位置
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Driver={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath(db)
conn.Open connstr
sub CloseConn()
conn.close
set conn=nothing
end sub
%>
出错的文件,
<!------------#incldue file="inc/conn.asp"------------->
<%
Set rs=Server.CreateObject("adodb.recordset")
strSQL="select * from products"
rs.open strSQL,conn,1,3
%>
<table>
<tr>
<%
while not rs.eof
product_item= rs("product_item")
product_picture rs("product_picture")
%>
<td><%=product_item%></td>
<%
rs.movenext
wend
%>
</tr>
<table>
错误在第五行,一样的错误,,晕死了!!!
回复
liuyanlin 2004-08-04
Provider=Microsoft.Jet.OLEDB.4.0

Driver={Microsoft Access Driver (*.mdb)}
这两者有很大的区别吗?后者是针对access文件,前者呢,?
以前也知道application的方法不是太好,但图省事,而且听说减少服务器的负担,所以就一直保留,另外,我只对数据库进行读的话,用
rs.open sql,conn
应该就可以了吧,
也是奇怪了,发贴这两天里,系统再没有出过这个问题了,想找个出错的机会都没有,郁闷。。。

另外楼上的shhu_lin(hupo)

你的代码写的有问题,
userlogin.ActiveConnection =MM_conn_STRING;
MM_conn_STRING 应该是一个connection的对象,而这里你却是一个string对象,
应该先建立一个连接然后打开,才能赋值给activeconnection,
回复
3573745 2004-08-04
数据库打开出现提示对话框是正常现象。
至于你的网页问题。似乎真的比较烦 。
一般来说我是没有出现过什么有时候正常。有时候不正常的情况。
同意上面的 硬盘格式问题。因为另外似乎没有什么可以想出来。
帮你UO一下。
回复
liuyanlin 2004-08-03
这里就没有人能帮忙看看吗?快要晕了!
回复
liuyanlin 2004-08-03
Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=E:\web\pow_web4\power_web_database.mdb;Mode=Read;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False

上面输出的是power_data的内容。里面有个mode为read,不知道是否这里的原因,现在网页已经好了,没有问题了,但不知道什么时候问题又会来,
回复
liuyanlin 2004-08-03
帖子加分了,再征求答案啊,,
你说的我验证过了,不为空,具体原因估计真的是如
微软那边的说法,把一个 属性值赋给了一个字符串,引发异常出现,
怎么办啊,
回复
shhu_lin 2004-08-03
我也遇到过参数类型不正确,或在不可接受的范围之内,今天我也把我的问题贴上
我在链接access数据库是出现如下错误:

ADODB.Recordset 错误 '800a0bb9'

参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。

/njsj-1/index1.asp,行 5

我的代码是:
<%@language="javascript"%>
<!--#include file="Connections/conn.asp"-->
<%
var userlogin = Server.CreateObject("ADODB.Recordset");
userlogin.ActiveConnection =MM_conn_STRING;
userlogin.Source = "SELECT * FROM huiyuan";
userlogin.CursorType = 0;
userlogin.CursorLocation = 2;
userlogin.LockType = 1;
userlogin.Open();
var userlogin_numRows = 0;
%>

conn.asp 文件内容
<%
ffpath=Server.MapPath("\admin\\database\\njsj1314.mdb")
var MM_conn_STRING="Driver={Microsoft Access Driver (*.mdb)};dbq="&ffpath
%>
回复
sunjiujiu 2004-08-03
我觉得application("power_Data")=conn这样赋值就是不太好,以前有人建议我这么用,我考虑再三还是没有这么用,将一个连接对象付给了变量,我怎么考虑怎么不科学!

我建议你采用 valu([bbs.wei6.com]) 的方法,重新拾掇一下你现有的系统!
回复
ycted 2004-08-03
建议你这样
1.找到设置application("power_data")的页面,把你的

Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=E:\web\pow_web4\power_web_database.mdb;Mode=Read;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False

把你上面application("power_data")的内容该成下面的内容
connstr="Driver={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("/inc/user.mdb") '你的数据库的位置
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr

然后在每个需要连接数据库的文件里包含上面改了的文件.
调用的时候就

将你的rs.open sql,application("power_data")
替换成
rs.open sql,application("power_data"),1,3

回复
超级大笨狼 2004-08-03
rs.open sql,application("power_data")

中的连接对象application("power_data")可能有问题

不用application("power_data")

改成 Set cn = Server.CreateObject("ADODB.Connection")

rs.open sql,cn,3,2
回复
MagicYangCN 2004-08-02
看提示应该是数据库连接问题
你可以试试
set Conn=application("power_data")
rs.open sql,Conn
如果还不行
输出application("power_data")值。看看是否为空?
回复
liuyanlin 2004-08-02
试了,,
还是错啊,怎么解啊!
回复
ycted 2004-08-02
试了这个吗?
将你的rs.open sql,application("power_data")
替换成
rs.open sql,application("power_data"),1,3
回复
ycted 2004-08-02
property value 在这里应该是有 意义的值吧.
回复
liuyanlin 2004-08-02
去微软网站查询得到结果
2146825287 (0x800A0BB9) The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another.
和没查一样,
下面的有一点看不懂了,
When you set a property value on an ActiveX Data Objects (ADO) object to a string value, you may encounter the following exception:
(这个property value是什么意思啊???大侠帮忙看看啊,!)

Unhandled Exception: System.Runtime.InteropServices.COMException (0x800A0BB9): Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
CAUSE
When you use ADO in the Microsoft .NET Framework with Component Object Model (COM) interop, ADO properties that formerly accepted either object references or string values now only support object references. As a result, when you try to set a property to a string value, an exception is thrown
回复
liuyanlin 2004-08-02
哦,那该怎么解啊,
回复
ycted 2004-08-02
试试rs.open sql,application("power_data"),1,3
回复
加载更多回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-08-02 04:10
社区公告
暂无公告