是否有支持xmltype列的Python Oracle包装器?

时间:2009-06-01 19:36:18

标签: python xml oracle xmltype

似乎cx_Oracle没有。

对于使用Oracle和Python处理xml的任何其他建议表示赞赏。

感谢。

3 个答案:

答案 0 :(得分:1)

我设法用cx_Oracle做了这个。

我在使用XMLTYPE字段在表中插入行的语句中使用了sys.xmltype.createxml()函数;然后我使用prepare()和setinputsizes()来指定我用于XMLTYPE字段的绑定变量是cx_Oracle.CLOB类型。

答案 1 :(得分:1)

我设法通过在对XMLType.GetClobVal()的调用中包装XMLElement调用来实现此目的:

例如:

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

不知道局限性但它让我摆脱了麻烦。在Oracle站点上找到了相关信息: Mastering Oracle+Python, Part 1: Querying Best Practices

答案 2 :(得分:0)

(已编辑以删除非Oracle Python DB-API模块的提及,并添加一些更相关且希望有用的信息)。

不知道cx_oracle的任何替代方案(作为DCOracle2作者says,“DCOracle2目前尚未维护,并且没有可用的支持。”因此它不是替代方案。)

然而,甲骨文自己网站上最近的一个article声称(至少在Oracle 10g XE等最新版本中 - 可能是最近的cx_oracle版本)Python可以使用Oracle的XML支持 - 我不知道知道那篇文章中的例子是否可以帮助你解决问题,但我当然希望如此!