python无法与oracle cx_oracle一起使用
我正在使用cx_oracle模块处理python和oracle。我在如何正确工作方面遇到了一些问题。查询中的表i2test有20000多行,但是while循环在大约1800行时挂起。如果我删除ORDERBY子句。。。环路挂起在12000左右。有什么建议吗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
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中。我不知道发生了什么,也不知道如何诊断,我必须手动终止进程。您运行的机器是否内存不足或正在交换磁盘?