我正在使用cx_Oracle模块使用python和oracle。我遇到了 fetchmany 正常工作的问题。查询中的表i2test有超过20,000行,但 while循环在达到约1,800行时挂起。如果我删除订单子句...循环挂起大约12,000。有什么建议吗?
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)
我意识到这可能很简单......提前感谢。
*当我试图获取非常大的行大小或像varchar(2000)这样的大列时,它似乎只会挂起。像pymssql这样的其他Python模块似乎没有这个问题。
列定义:
CREATE TABLE IMETADATA.I2TEST
(NAME VARCHAR2(700 BYTE) NOT NULL,
CNAME VARCHAR2(2000 BYTE) NOT NULL,
CODE VARCHAR2(50 BYTE),
UPDATEDATE DATE NOT NULL,
DOWNLOADDATE DATE,
IMPORTDATE DATE)