Я новичок в подключении к oracle db (версия 19.3) через python 3.6. Я не получаю никаких строк в ответ. Скажите, пожалуйста, что мне здесь не хватает?

Я думаю, что все соединение настроено правильно, потому что оно не показывает никаких ошибок соединения или ошибок неверного пароля. Пробовал использовать fetchall(), fetchmany(), rowcount и т. д. все возвращает ноль. Я попытался распечатать сам объект курсора, который работает. Я выполнил запрос в своей БД. У меня локально установлена ​​Oracle DB 19.3 с использованием разработчика Oracle SQL для запуска SQL. Что-нибудь еще мне нужно установить?

import cx_Oracle
conn = cx_Oracle.connect("username", "password", "localhost/orcl")
cur = conn.cursor()
cur.execute('select * from emp')
for line in cur:
    print(line)
cur.close()
conn.close()
0
Anirban Maji 26 Окт 2019 в 17:24
Это начало работать после перезагрузки системы, любой, кто читает это, пожалуйста, перезапустите один раз, прежде чем чесать затылок.
 – 
Anirban Maji
14 Ноя 2019 в 16:37

1 ответ

После запуска

delete from emp;

Ваша программа python будет отображать нулевые строки, как вы сообщаете.

Вы можете захотеть INSERT одну или несколько строк перед его запуском.

Вы также можете найти более удобным интерфейс, предлагаемый sqlalchemy. Он обеспечивает переносимость приложений между Oracle и другими серверными частями БД. Cf https://developer.oracle.com/dsl/prez-python-queries .html

0
J_H 26 Окт 2019 в 18:06