cx_Oracle MemoryError当我调用cursor.executemany()

问题描述:

cx_Oracle MemoryError当我调用cursor.executemany()时。这个错误只发生在数据很大时。我用一些数据试了一下,结果很好。请,我是新的python和一般编程。谢谢你们......cx_Oracle MemoryError当我调用cursor.executemany()

import string, cx_Oracle, time 
startscript = time.time() 
ora_conn = cx_Oracle.connect("")  
ora_cursor = ora_conn.cursor()  

ora_cursor.execute("truncate table table") 

ora_cursor.execute("""SELECT * FROM schema.tableA""") 


ResultSet_Py_List = [] 
for column1, column2, column3 in ora_cursor: 
    try: 
     ResultSet_Py_List.append((column1, column2, column3)) 
    except AttributeError: 
     pass 


ora_cursor.prepare("""INSERT INTO schema.TableA (column1, column2, column3) 
     VALUES (:column1, :column2, :column3)""") 

ora_cursor.executemany(None, ResultSet_Py_List) 
ora_conn.commit() 

解决了。我发现它与记忆有关。我安装了一个64位的Python和Oracle客户端后,我发现,32位只能使用4个千兆字节的RAM