Python DB获取的行打印为对象而不是数据

时间:2016-06-02 14:56:47

标签: python python-3.x oracle11g

我从Python开始,目前正在尝试这个基础:

import cx_Oracle
con = cx_Oracle.connect('user/pass@hostname/DBName')
cursor = con.cursor()

cursor.execute("""
        select * from
        (select definition_code, content_data, creation_date
        from acms_content
        order by creation_date desc)
        where rownum <= 4
        """)
for column_1, column_2, column_3 in cursor:
    print ("Values:", column_1, column_2, column_3)


print (con.version)
con.close()

现在当我通过python3.5 connect.py运行它时,我得到:

Values: Something1 <cx_Oracle.OBJECT object at 0x2aacb49c7a08> 2016-06-02 16:48:50    
Values: Something2 <cx_Oracle.OBJECT object at 0x2aacb49c78f0> 2016-06-02 16:09:01    
Values: Something3 <cx_Oracle.OBJECT object at 0x2aacb49c7a08> 2016-06-02 15:50:29    
Values: Something4 <cx_Oracle.OBJECT object at 0x2aacb49c78f0> 2016-06-02 13:07:48    
Values: Something5 <cx_Oracle.OBJECT object at 0x2aacb49c7998> 2016-06-02 09:39:46

为什么会这样?如何打印该对象的值? 我应该提到content_data列是XMLTYPE - 基本上在Oracle SQL Developer中,双击单元格,向我显示内部的XML文本。我如何用Python做到这一点?

此外,这只是我需要做的一些迁移脚本(文件,XML,数据库条目)的前身 - 所以如果你能推荐一些好的快速读取来正确编写Python代码并有效地调试它,请发布 - 我很想读它。

0 个答案:

没有答案