向Oracle数据库插入数据采用批处理更新的方式,但速度很慢,经查看,主要的Updatebatch语句的执行慢,请问有什么改进的方法吗,具体代码如下: Set cnn = New ADODB.Connection
cnn.Open "DSN=" & str1, str2, str3
Set rs_section = New ADODB.Recordset
Set rs_link = New ADODB.Recordset
sqlstr1 = "select * from " & str4 & " where 1=0"
rs_section.CursorLocation = adUseClient
rs_section.Open sqlstr1, cnn, adOpenStatic, adLockBatchOptimistic
rs_section.ActiveConnection = Nothing
For i = 1 To jn
For j = 1 To jsl(i).n
rs_section.AddNew
rs_section.Fields(1) = jsl(i).gridn & jsl(i).linkN
'--------------------------------------------------------------改变时间格式
rs_section.Fields(2) = jsl(i).level
rs_section.Fields(3) = jsl(i).jsects(j).time
rs_section.Fields(4) = jsl(i).n
rs_section.Fields(5) = jsl(i).jsects(j).lev
rs_section.Fields(6) = jsl(i).jsects(j).s
rs_section.Fields(7) = jsl(i).jsects(j).l
rs_section.Update
Next j
Next i
rs_section.ActiveConnection = cnn
rs_section.UpdateBatch
rs_section.Close
cnn.Open "DSN=" & str1, str2, str3
Set rs_section = New ADODB.Recordset
Set rs_link = New ADODB.Recordset
sqlstr1 = "select * from " & str4 & " where 1=0"
rs_section.CursorLocation = adUseClient
rs_section.Open sqlstr1, cnn, adOpenStatic, adLockBatchOptimistic
rs_section.ActiveConnection = Nothing
For i = 1 To jn
For j = 1 To jsl(i).n
rs_section.AddNew
rs_section.Fields(1) = jsl(i).gridn & jsl(i).linkN
'--------------------------------------------------------------改变时间格式
rs_section.Fields(2) = jsl(i).level
rs_section.Fields(3) = jsl(i).jsects(j).time
rs_section.Fields(4) = jsl(i).n
rs_section.Fields(5) = jsl(i).jsects(j).lev
rs_section.Fields(6) = jsl(i).jsects(j).s
rs_section.Fields(7) = jsl(i).jsects(j).l
rs_section.Update
Next j
Next i
rs_section.ActiveConnection = cnn
rs_section.UpdateBatch
rs_section.Close
解决方案 »
- 用vb怎样实现登陆?
- 请教个问题??(偶是新手)
- 如何去掉字符串中的空白行?
- 有没有办法让其余窗口最小化,让指定的两个窗口平铺?
- 自学编程也有两年了,对VB\VC\DELPHI\JAVA\ASP都有所了解,看一些代码也能看懂个70-80%,可是要编个东西就是无从下手,不知该如何提高?请
- 新的SuperRuntimeLibrary已经推出(你可以轻松创建线程,获取“***”)
- recordset的记录条数怎样得到?
- ???关于密码校验的问题,密码存在数据库中???
- 请问如果用VB做安装包,把程序中自带的数据库表嵌入,并实现把用VC.NET做的ACTIVEX控件的在客户机上的动态注册?
- 窗体非矩形的我会作!那控件可不可以做成非矩形的?我目前还未做出来!谁有办法解决!
- 请问提高向数据库写数据速度的方法
- 异常烦,不想干了,散分
For j = 1 To jsl(i).n
id = id + 1
rs_section.AddNew
'rs_section.Fields(0) = id '//路段路况信息
rs_section.Fields(1) = jsl(i).gridn & jsl(i).linkN
'--------------------------------------------------------------改变时间格式
rs_section.Fields(2) = jsl(i).level
rs_section.Fields(3) = jsl(i).jsects(j).time
rs_section.Fields(4) = jsl(i).n
rs_section.Fields(5) = jsl(i).jsects(j).lev
rs_section.Fields(6) = jsl(i).jsects(j).s
rs_section.Fields(7) = jsl(i).jsects(j).l
rs_section.Update
Next j
If (id > 1000) Then
rs_section.ActiveConnection = cnn
rs_section.UpdateBatch
rs_section.ActiveConnection = Nothing
id = 0
End If