cx_Oracle Connection Timeout - PullRequest
       3

cx_Oracle Connection Timeout

1 голос
/ 04 октября 2019

Я пытаюсь подключиться к базе данных Oracle, но получаю следующее сообщение об ошибке:

curcon = cx_Oracle.connect (conn_str) cx_Oracle.DatabaseError: ORA-12170: TNS: истекло время ожидания подключения

Вот блок кода:

conn_str = u'user/pwd@111.22.33.444:8000/service'
curcon = cx_Oracle.connect(conn_str) 
cursor = curcon.cursor()

Я пробовал решения из этих двух потоков, но ни один из них не работает:

Установить время ожидания соединения с базой данных в Python

ORA-12170: TNS: истекло время ожидания соединения

Ответы [ 2 ]

0 голосов
/ 04 октября 2019

В документе cx_Oracle Connecting to Oracle Database упоминается следующее:

import cx_Oracle

userpwd = ". . ." # Obtain password string from a user prompt or environment variable

connection = cx_Oracle.connect("hr", userpwd, "dbhost.example.com/orclpdb1", encoding="UTF-8")

Или

with cx_Oracle.connect(userName, password, "dbhost.example.com/orclpdb1",
            encoding="UTF-8") as connection:
    cursor = connection.cursor()
    cursor.execute("insert into SomeTable values (:1, :2)",
            (1, "Some string"))
    connection.commit()

Также вы можете найти примеры в https://github.com/oracle/python-cx_Oracle/tree/master/samples

0 голосов
/ 04 октября 2019

Ваш код работает для базы данных на той же машине, это должно работать для вас,

connection = cx_Oracle.connect('user', 'pwd', cx_Oracle.makedsn( 'ip', 'port',None,'given service name/id')) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...