С помощью пакета cx_Oracle
я пытаюсь подключиться к удаленной базе данных Oracle. К сожалению, у меня ошибка при попытке проверить следующий код Python:
import cx_Oracle;
dsn_tns=cx_Oracle.makedsn('HOST', 'PORT', service_name='NAME')
connection=cx_Oracle.connect('USERNAME', 'PASSWORD', dsn_tns)
ERROR
cx_Oracle.Database: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
* Зависимости 1011 *:
1) Ubuntu 14.04 (64 бит) (локальный компьютер)
2) Python 2.7.14 (64 бита)
3) cx_Oracle 6.4.1
4) Мгновенный клиент 18,3
5) База данных Oracle 11g (расположена на удаленном сервере)
Я использовал официальную документацию для установки и настройки мгновенного клиента.
Официальная документация гласит:
Oracle Call Interface 18.3 может подключаться к Oracle Database 11.2 или
позже.
Для этого я загружаю базовый пакет мгновенного клиента 18.3, а затем распаковываю его:
cd /opt/oracle
unzip instantclient-basic-linux.x64-18.3.0.0.0dbru.zip
Затем я устанавливаю libaio
:
sudo apt-get install libaio1
В терминале я написал следующие 2 команды:
sudo sh -c "echo /opt/oracle/instantclient_18_3 > /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig
Внутри /opt/oracle/instantclient_18_3/network/admin
Я положил tnsnames.ora
файл.
После этого я установил переменную окружения в ~/.profile
:
export LD_LIBRARY_PATH=/opt/oracle/instantclient_18_3:$LD_LIBRARY_PATH
export TNS_ADMIN=/opt/oracle/instantclient_18_3/network/admin
export PATH=/opt/oracle/instantclient_18_3:$PATH
Что еще я должен был сделать, чтобы решить проблему?