jaydebeapi为批量插入设置了autocommit

2024-10-01 00:35:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有很多行要插入到一个表中,并尝试逐行执行,但这需要很长时间。我读了这个链接Python+MySQL - Bulk Insert,似乎把autocommit设置为off可以加快速度。在

import jadebeapi

connection = jaydebeapi.connect('com.teradata.jdbc.TeraDriver', ['jdbc:teradata://some url',USER,PASS], ['tdgssconfig.jar','terajdbc4.jar'],) 


cur = connection.cursor()
connection.jconn.setAutoCommit(False)
cur.execute('select * from my_table')
connection.commit()

我执行的其他查询包括:

^{pr2}$

当我有connection.jconn.setAutoCommit(False)时,我总是会得到这个错误:

[Teradata Database] [TeraJDBC 15.10.00.14] [Error 3932] [SQLState 25000] Only an ET or null statement is legal after a DDL Statement.

当该行和connection.commit()被注释掉后,代码可以正常工作。将autocommit设置为false的正确语法是什么?在


Tags: false链接mysqlbulkconnectionjarcommitinsert