Y at-il une enveloppe Oracle pour Python qui prend en charge les colonnes de XMLType?
Question
Il semble cx_Oracle ne fonctionne pas.
Toute autre suggestion pour la gestion du XML avec Oracle et Python est apprécié.
Merci.
La solution
J'ai réussi à le faire avec cx_Oracle.
I utilisé la fonction sys.xmltype.createxml () dans l'état qui insère les lignes d'une table avec des champs de XMLType; puis je préparer () et setinputsizes () pour indiquer que les variables de liaison I utilisé pour les champs de XMLType étaient de type cx_Oracle.CLOB.
Autres conseils
J'ai réussi à obtenir ce travail en enveloppant l'appel XMLELEMENT dans un appel à XMLType.GetClobVal()
:
Par exemple:
select xmltype.getclobval(xmlelement("rowcount", count(1)))
from...
Aucune idée des limites encore, mais il m'a fait sortir du pétrin. Nous avons trouvé l'information sur le site relelvant Oracle: Maîtrise Oracle + Python, Partie 1: Interrogation meilleures pratiques
(modifié pour supprimer la mention d'un module non-Oracle Python DB-API et ajouter des informations plus pertinentes et nous espérons utile).
Je ne sais pas d'alternative à cx_oracle
(comme l'auteur DCOracle2 dit , « DCOracle2 est actuellement unmaintained, et aucun soutien est disponible. » il est donc pas vraiment une alternative).
Cependant, un récent article sur Oracle propre site affirme que (au moins avec les versions récentes telles que Oracle 10g XE - et probablement les versions récentes de cx_Oracle) Python peut travailler avec le soutien XML d'Oracle - Je ne sais pas si les exemples dans cet article peuvent vous aider à résoudre vos problèmes, mais je l'espère bien!