Excel Oracle查询需要很长时间才能运行

时间:2016-05-02 10:27:06

标签: sql excel oracle vba

我在Excel中使用ADODB连接连接到oracle数据库。当我在SQL开发人员中运行查询时,它运行大约8秒(这是45 000条记录的完整结果)。当我在Excel vba中运行相同的地震时,需要很长时间,大约20分钟。为什么Excel需要这么长时间?

以下是我的代码示例

Set rs = New ADODB.Recordset
Set con = New ADODB.Connection

con.CursorLocation = adUseClient
con.Open "Provider=OraOLEDB.Oracle;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)" & _
                       "(HOST=JASONPC)(PORT=1521)))(CONNECT_DATA=(SID=jasonpc)));User Id=jason;Password=jason;DeferUpdChk=true"


rs.CursorType = ADODB.adOpenStatic
rs.LockType = adLockOptimistic
rs.Open sql, con

Set rs.ActiveConnection = Nothing
con.Close
Set con = Nothing

1 个答案:

答案 0 :(得分:0)

如果执行完整的45K记录,则会降低执行速度或挂起Excel。所以从5K查询

运行它

前10k然后下一个10k依旧在查询中使用行数...

因此您需要根据该查询修改您的