非常感谢 jacouh(VBA Copy & Paste 3000 rows)对我最初的问题的回答。在论坛的帮助下,我现在有了下面的代码,它从 Excel 文件中插入了 2999 行。每行是INSERT (X, Y, Z, ...) VALUES (X1, Y1, Z1,...) into DBNAME.TABLE
. 虽然它有效,但它非常缓慢。据我了解,我可以通过增加缓冲区的大小来提高插入速度,如http://developer.teradata.com/doc/connectivity/tdnetdp/13.11/webhelp/Teradata.Client.Provider~Teradata中所述.Client.Provider.TdConnectionStringBuilder~ResponseBufferSize.html. 我试图合并它并失败了。有人可以推荐一个可能的集成来增加响应缓冲区的大小。太感谢了。我之前探索过不同的论坛,这绝对是最好的。确实。任何其他想法,比我目前使用的更好(将大约 3000 行插入大约 15 个不同的表中),然后请告诉我!)
Sub Insert_to_TD()
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim cmdsqldata As ADODB.Command
Set cmdsqldata = New ADODB.Command
Dim i, strSQL
cn.Open "DSN=NNNNNN; Username=XXXXX; Password=YYYYYYY;"
Set cmdsqldata.ActiveConnection = cn
cmdsqldata.CommandType = adCmdText
cmdsqldata.CommandTimeout = 0
For i = 1 To 2999
strSQL = ActiveSheet.Cells(i, 1).Value
cmdsqldata.CommandText = strSQL
Set rs = cmdsqldata.Execute()
Next
End Sub