Я хочу научиться работать с базой данных Oracle с помощью Python. Если я правильно понимаю, вы можете использовать Oracle Instant Client для удаленного подключения к базе данных Oracle, но я не могу подключиться. Я подозреваю, что проблема в том, что я не знаю, какие аргументы использовать для комбинации localhost/instance. Я считаю, что localhost - это просто имя моей машины, или это может быть буквально "localhost", что я пробовал, но я не знаю, как это сделать, и не могу найти помощь, чтобы сказать мне, как найти имя службы для экземпляра базы данных.
В командной строке я открыл python, импортировал cx_Oracle и использовал «Easy Connect String», как указано в этот пример кода, используя либо "(имя моей машины)/orclpdb", либо буквально "localhost/orclpdb" для DEFAULT_CONNECT_STRING
.
Пример кода создает переменную MAIN_CONNECT_STRING
, которую я использовал в командной строке, чтобы попытаться подключиться к удаленной базе данных:
cnxn = cx_Oracle.connect(MAIN_CONNECT_STRING)
cx_Oracle.DatabaseError: ORA-12541: TNS:no listener
Я нахожу ответы, которые, кажется, основаны на этом или других, ссылающихся на tnsnames.ora
, или listener.ora
файлов, которых у меня нет. Я также пытался использовать instantclient-sqlplus-nt-12.2.0.1.0
.
Задний план:
- Windows 7
- Я скачал
cx_Oracle-6.1-cp27-cp27m-win32.whl
иinstantclient-basic-nt-12.2.0.1.0.zip
- Я поместил
.whl
в "C:\Python27\Scripts\" - Я использовал python
-m pip install cx_Oracle --upgrade
для установкиcx_Oracle
. - Я разархивировал ZIP-файл мгновенного клиента и поместил сюда дочернюю папку «C:\instantclient
;C:\instantclient_12_2
2». - Я добавил
;C:\instantclient_12_2
в конецPATH
.