我正在尝试使用cx峎Oracle解析多个csv并将它们的数据插入表中。我可以使用execute将数据插入表中,但是当我尝试使用executemany执行相同的过程时,我得到了一个错误。我使用execute的代码是
with open(key,'r') as file:
for line in file:
data = data.split(",")
query = "INSERT INTO " + tables[key] + " VALUES ("
for col in range(len(data)):
query += ":" + str(col) + ","
query = query[:-1] + ")"
cursor.execute(query, data)
但是当我用
^{pr2}$当试图插入一个包含CLOB列且数据超过4000字节的表时,我得到“ValueError:stringdata too large”。当表没有CLOB列时,Executemany工作得很好。当你告诉我,当你把列当作一个合适的方法来处理时,clouty可以告诉你吗?在
尝试将大列的输入大小设置为
cx_Oracle.CLOB
。如果有二进制数据,则可能不起作用,但对于CSV
中的任何文本都应该有效。2K
值可能低于需要的值。在请注意,当涉及
CLOB
列时,executemany
似乎要慢得多,但仍比重复执行好:相关问题 更多 >
编程相关推荐