专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > DotNet Exception

System.Data.OleDb.OleDbException: 未指定的错误,解决方法!

发布时间:2011-06-26 20:23:36 文章来源:www.iduyao.cn 采编人员:星星草

"System.Data.OleDb.OleDbException: 未指定的错误
ORA-01000: 超出打开游标的最大数
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr)
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteScalar()

------解决方法--------------------------------------------------------
游标没关闭
或datareader没关闭
或连接没关闭
------解决方法--------------------------------------------------------
把代码给出来看看
------解决方法--------------------------------------------------------
打开游标后及时关闭
------解决方法--------------------------------------------------------
for i = 0 To count - 1
....
command3.ExecuteNonQuery()
....
next

程序要尽量的不这么写循环,这样会极慢的.

可以先用一个string拼好一个Sql语句,一次执行,或用Xml表示数据,编写存储过程,在存储过程里打开XmL进行数据的操作.
------解决方法--------------------------------------------------------
先定义Sql:
dim sql as string
for i = 0 To count - 1
sql += "insert into temp(A1,A2) values( " & a1 & " ', ' " & a2 & " ',) ; "
next i;

拼好后开始一次性执行:
Dim data3 As OleDb.OleDbDataReader
Dim command3 As New OleDb.OleDbCommand
command3.Connection = conn
command3.CommandText = sql
command3.ExecuteNonQuery()
command3 = Nothing

如果Sql会很长,或count 很大的时候,可以分几次执行以提高执行效率.
------解决方法--------------------------------------------------------
多次执行,没有问题的
我用string数组放SQL语句,执行几万次插入,也不过三分钟~
------解决方法--------------------------------------------------------
仔细看了一下,你在循环内放了很多不必要的东西
------解决方法--------------------------------------------------------
Command可以多次执行的,
每次重新创建,重新指定连接都是不必要的
只要重新
command3.CommandText = newSQL
command3.ExecuteNonQuery()
即可,其他的都去掉

你也可以象我一样,把所有SQL语句事先准备好放在一个string数组内     

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: