python无法与oracle cx_oracle一起使用

python无法与oracle cx_oracle一起使用,python,oracle,cx-oracle,Python,Oracle,Cx Oracle,我正在使用cx_oracle模块处理python和oracle。我在如何正确工作方面遇到了一些问题。查询中的表i2test有20000多行,但是while循环在大约1800行时挂起。如果我删除ORDERBY子句。。。环路挂起在12000左右。有什么建议吗 cursor_metadata = cx_Oracle.Cursor(i_connection) query_select = """SELECT name, code, cname, TO_CHAR(updatedate), TO_CHA

我正在使用cx_oracle模块处理python和oracle。我在如何正确工作方面遇到了一些问题。查询中的表i2test有20000多行,但是while循环在大约1800行时挂起。如果我删除ORDERBY子句。。。环路挂起在12000左右。有什么建议吗

cursor_metadata = cx_Oracle.Cursor(i_connection)


query_select = """SELECT name, code, cname, TO_CHAR(updatedate), TO_CHAR(downloaddate), TO_CHAR(importdate)
                  FROM imetadata.i2test
                  WHERE code like '%DIN%' AND
                        cd = 'N'
                  ORDER BY code"""


cursor_metadata.execute(query_select)

count = 0
results = cursor_metadata.fetchmany(100)
while results:
    print count
    count += 1
    results = cursor_metadata.fetchmany(100)
我意识到这可能很简单。。。提前谢谢

*只有当我试图获取非常大的行大小或像varchar2000这样的大列时,它才会挂起。其他Python模块,比如pymssql,似乎没有这个问题

列定义:

创建表IMEADATA.I2TEST 名称VARCHAR2700字节不为空, CNAME VARCHAR2200字节不为空, 代码VARCHAR250字节, UPDATEDATE日期不为空, 下载日期, 进口日期

当您使用游标\u元数据时,它是否工作。fetchall?@Gerrat它不工作。。。它还是会挂起来的。经过一些修改,我注意到只有当我包含像varchar2000这样的大列或行太大时,它才会挂起。这是您的实际代码吗?我从来没有见过甲骨文在这种情况下停滞不前。通常它会产生某种错误。您是否通过某个try/except子句忽略了错误?@Gerrat我没有将代码包装在try/except中。我不知道发生了什么,也不知道如何诊断,我必须手动终止进程。您运行的机器是否内存不足或正在交换磁盘?