Esiste un wrapper Oracle per Python che supporta le colonne XmlType?
Domanda
Sembra cx_Oracle non.
Qualsiasi altro suggerimento per la gestione di XML con Oracle e Python è apprezzato.
Grazie.
Soluzione
Sono riuscito a farlo con cx_Oracle.
Ho usato la funzione sys.xmltype.createxml () nello stato che inserisce le righe di una tabella con campi XmlType; poi ho usato la preparazione () e setinputsizes () per specificare che le variabili di bind che ho usato per i campi XmlType erano di tipo cx_Oracle.CLOB.
Altri suggerimenti
Sono riuscito a farlo funzionare avvolgendo la chiamata XmlElement in una chiamata a XMLType.GetClobVal()
:
Ad esempio:
select xmltype.getclobval(xmlelement("rowcount", count(1)))
from...
Non ho idea dei limiti ancora, ma mi ha fatto fuori dai guai. Trovato l'informazioni relelvant sul sito Oracle: Mastering Oracle + Python, Parte 1: Interrogazione Best Practices
(a cura di rimuovere menzione di un modulo non-Oracle Python DB-API e aggiungere alcune informazioni più rilevanti e, si spera utile).
Non so di qualsiasi alternativa al cx_oracle
(come l'autore dice , "DCOracle2 è attualmente non mantenuto, e nessun supporto è disponibile." quindi non è davvero un'alternativa).
Tuttavia, un recente articolo su Oracle di proprio sito afferma che (almeno con le recenti uscite come Oracle 10g XE - e rilascia cx_Oracle presumibilmente recenti) Python può funzionare con il supporto XML di Oracle - non so se gli esempi in questo articolo possono aiutare a risolvere i vostri problemi, ma spero proprio di sì!