Существует ли оболочка Oracle для Python, которая поддерживает столбцы xmltype? - PullRequest
5 голосов
/ 01 июня 2009

Кажется, что cx_Oracle этого не делает.

Любые другие предложения по работе с XML с Oracle и Python приветствуются.

Спасибо.

Ответы [ 3 ]

1 голос
/ 04 июня 2009

Мне удалось сделать это с помощью cx_Oracle.

Я использовал функцию sys.xmltype.createxml () в инструкции, которая вставляет строки в таблицу с полями XMLTYPE; затем я использовал prepare () и setinputsizes (), чтобы указать, что переменные связывания, которые я использовал для полей XMLTYPE, имели тип cx_Oracle.CLOB.

1 голос
/ 18 мая 2010

Мне удалось заставить это работать, обернув вызов XMLElement в вызов XMLType.GetClobVal():

Например:

select xmltype.getclobval(xmlelement("rowcount", count(1)))
from...

Пока понятия не имею об ограничениях, но это избавило меня от неприятностей. Нашел соответствующую информацию на сайте Oracle: Освоение Oracle + Python, часть 1: запрос лучших практик

0 голосов
/ 01 июня 2009

(отредактировано для удаления упоминания о не-Oracle модуле DB-API Python и добавления некоторой более актуальной и, надеюсь, полезной информации).

Не знаю никакой альтернативы cx_oracle (как говорит автор DCOracle2 , «DCOracle2 в настоящее время не поддерживается, и поддержка недоступна.», Поэтому на самом деле это не альтернатива).

Тем не менее, недавняя статья на собственном сайте Oracle утверждает, что (по крайней мере, с недавними выпусками, такими как Oracle 10g XE - и, по-видимому, недавние выпуски cx_oracle), Python может работать с поддержкой Oracle Oracle - я не Я не знаю, могут ли примеры из этой статьи помочь вам решить ваши проблемы, но я очень на это надеюсь!

...