Извлечение имен таблиц из сервера базы данных Oracle - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть доступ к серверу oracle11g, который работает в магазине, и у меня есть программное обеспечение для получения отчетов внутри программного обеспечения, но это программное обеспечение с закрытым исходным кодом. Поскольку у меня есть имя пользователя в базе данных, я могу получить доступ из программного обеспечения ко всем отчетам, но я хочу автоматизировать некоторые работы и хочу написать скрипт python3, чтобы сделать это. Все, что мне нужно, это знать имена таблиц в БД. я хочу код в оракуле, который возвращает мне имя таблицы. У меня есть доступ к базе данных из "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 голосов
/ 05 апреля 2019

Вы можете использовать

select table_name
  from user_tables
 order by table_name

или

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

для получения имен всех таблиц вашего текущего пользователя. Где cat - это синоним user_catalog представления словаря данных, а user_tables - другое представление словаря данных, автоматически создаваемое базой данных во время установки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...