outputtypehandler ( TypeError: expecting variable with array size large enough for fetch)

outputtypehandler ( TypeError: expecting variable with array size large enough for fetch)

使用 outputtypehandler 从使用 Python 的 Cx_Oracle 模块的 Oracle 获取数据,但出现以下错误。

TypeError:期望变量的数组大小足以获取

def OutputTypeHandler(cursor, name, defaultType, size, precision, scale):
    if defaultType in (cx_Oracle.DB_TYPE_TIMESTAMP, cx_Oracle.DB_TYPE_DATE):
        return cursor.var(datetime.date,cursor.arraysize)

谁能帮忙解决这个问题。

你们很亲近。你想要这个:

def OutputTypeHandler(cursor, name, defaultType, size, precision, scale):
    if defaultType in (cx_Oracle.DB_TYPE_TIMESTAMP, cx_Oracle.DB_TYPE_DATE):
        return cursor.var(datetime.date, arraysize=cursor.arraysize)

cursor.var() 的第二个参数是值的大小(用于字符串,不用于日期)。您需要 third 参数,即数组大小!