使用python

时间:2018-02-27 13:48:39

标签: python cx-oracle

我想列出并描述Oracle数据库中存在的表。

要通过使用SQL Plus等客户端连接到数据库来实现此目的,工作方法是:

  1. 列出表格:

    select tablespace_name, table_name from all_tables;

  2. 获取每个表的列和数据类型:

    describe [table_name];

  3. 然而,当通过python使用cx_Oracle时,cur.execute('describe [table_name]')会导致“无效的sql”错误。

    我们如何在python中使用describe和cx_Oracle?

2 个答案:

答案 0 :(得分:1)

看来你不能。

从cx_Oracle而不是describe使用:

cur.execute('select column_name, data_type from all_tab_columns where table_name = [table_name]')

(来自Richard Moore http://cx-oracle-users.narkive.com/suaWH9nn/cx-oracle4-3-1-describe-table-query-is-not-working

答案 1 :(得分:1)

正如其他人所指出的,没有能力直接描述。但是,我创建了一组库和工具,可以让你这样做。你可以在这里看到它们:https://github.com/anthony-tuininga/cx_OracleTools