sql >> Databasteknik >  >> RDS >> Oracle

Extrahera data från användardefinierad typ via cx_Oracle

Här är kodbiten som hanterar komplexa typer i cx_Oracle.
Utdrag:

def ObjectRepr(obj):
    if obj.type.iscollection:
        returnValue = []
        for value in obj.aslist():
            if isinstance(value, cx_Oracle.Object):
                value = ObjectRepr(value)
            returnValue.append(value)
    else:
        returnValue = {}
        for attr in obj.type.attributes:
            value = getattr(obj, attr.name)
            if value is None:
                continue
            elif isinstance(value, cx_Oracle.Object):
                value = ObjectRepr(value)
            returnValue[attr.name] = value
    return returnValue  

Du använder det som ObjectRepr(complex[0][0]) , om len(complex)>0 , naturligtvis




  1. Maximal SQLite-databasstorlek i Android-applikation

  2. MySQL-datum ändras till gårdagens datum efter JPA-spara

  3. Java/Mysql..SQLEundantag:En tabell måste ha minst en kolumn SQLState:42000 VendorError:1113

  4. RAISERROR-problem sedan migreringen till SQL Server 2012