从Oracle数据库服务器中提取表名称

时间:2019-04-05 09:40:02

标签: database python-3.x oracle

我可以访问一个oracle11g服务器,该服务器属于商店,并且具有可以在软件内部获取报告的软件,但是该软件是封闭源。 因为我在数据库中有一个用户名,我可以从软件访问所有报告,但我想自动化一些工作,并想编写一个python3脚本来做到这一点。我所需要的就是知道数据库中的表名。我想要在oracle中返回表名称的代码。 我可以从“ PLSQL Developer”和我未完成的python代码访问数据库。

import cx_Oracle
con = cx_Oracle.connect('username/password@serveraddress/dbname')
print (con.version)
cur =con.cursor()
cur.execute(" SOME ORACLE CODE")
#cur.execute('select * from tablesname orderby id' )

for i in cur:
    print (i)
con.close()

那么可以执行并将表名返回给我的代码是什么?

p.s:我什至用wireshark找出程序发送到服务器的代码是什么,但是表名不在数据包中。 :(

p.s 2:欢迎提出任何有创意和不寻常的答案。

1 个答案:

答案 0 :(得分:0)

您可以使用

select table_name
  from user_tables
 order by table_name

select table_name
  from cat
 where table_type = 'TABLE'  
 order by table_name

导出当前用户中所有表的名称。其中catuser_catalog数据字典视图的同义词,而user_tables是数据库在安装过程中自动创建的另一个数据字典视图。

相关问题