To vududoc,
I really didn't get any noticeable improvement via an array. However, since my original question, I have discovered the beauty of Oracle's OLE DB connection rather than ADO, which has given me about 8 times (yes, 8 times) the throughput.
Let's pretend we want to insert the cell values in columns A and B up into an Oracle database table. Here is the essence of what I'm doing now (what to substitute should be obvious):
Public Sub Kick_Ass_Method()
Dim OraDatabase As Object
Dim OraDynaSet As Object
Dim OraSession As Object
Dim lngRow As Long
Dim strFIELD1 As String
Dim strFIELD2 As String
Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.OpenDatabase ("my_database", "userid/password", 0)
OraDatabase.Parameters.Add "FIELD1", "", 1
OraDatabase.Parameters.Add "FIELD2", "", 1
Set OraDynaSet = OraDatabase.CreateDynaset("select FIELD1, FIELD2 from MY_TABLE", 0)
For lngRow = 1 To 100
strFIELD1 = Range("A" & CStr(lngRow)).Value
strFIELD2 = Range("B" & CStr(lngRow)).Value
With OraDatabase
.Parameters("FIELD1").Value = strFIELD1
.Parameters("FIELD2").Value = strFIELD2
.ExecuteSQL "insert into MY_TABLE values(:FIELD1,:FIELD2)"
End With
If lngRow Mod 10 = 0 Then
DoEvents
End If
Next lngRow
OraDynaSet.Close
OraDatabase.Close
OraSession.Close
Set OraDynaSet = Nothing
Set OraDatabase = Nothing
Set OraSession = Nothing
End Sub
I've done some "trench digging" to learn this, but this really is an awesome connection method.
Thanks for responding to my original question.
David
PS: Anyone with questions about this, I'm more than happy to share the wealth of what I've dug out.