Существует ли оболочка Oracle для Python, которая поддерживает столбцы xmltype?

StackOverflow https://stackoverflow.com/questions/936381

  •  06-09-2019
  •  | 
  •  

Вопрос

Похоже, cx_Oracle этого не делает.

Приветствуются любые другие предложения по обработке xml с помощью Oracle и Python.

Спасибо.

Это было полезно?

Решение

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

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

Другие советы

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

Например:

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top