Python 遍历 cx_Oracle 结果集时出错

Python Error Iterating Over a cx_Oracle Result Set

我有一些代码可以像这样迭代 cx_oracle 结果集:

for row in out_cursor:
    #do stuff
    print row

out_cursor 是一个 cx_oracle 游标对象。此代码通常有效,但有时我会收到如下错误:

for row in out_cursor:
ValueError: invalid literal for int() with base 10: '2.48752'

我想我误解了一些基本概念,因为那个错误对我来说没有意义。为什么行必须是一个整数?当该代码工作时,打印的行不是 int,它是许多不同数据类型的列表。

我很难研究这个问题。我已经四处寻找,但真的不知道要寻找什么!我希望我遗漏了一些明显的东西,你们中的一个 stack-overflow-ers 可以向我指出!

原来这是 cx_Oracle-6.0b2 中的错误,这是我使用的版本。

https://github.com/oracle/python-cx_Oracle/issues/86

升级到 cx_Oracle-7 解决了问题。