python fetchmany没有使用oracle cx_oracle

时间:2014-11-25 17:23:45

标签: python oracle cx-oracle

我正在使用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)

0 个答案:

没有答案