OracleDB Python и ORA-03150Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 OracleDB Python и ORA-03150

Сообщение Anonymous »

Существует приложение, написанное на Python 3.11.2.
oracledb==2.5.0
Приложение подключается к базе данных Oracle 19.16. и через DB-link берет данные из других баз. Приложение работает корректно, за исключением случая, когда какая-либо из баз данных, указанных в DB-link, перезагружена или недоступна.
В таких случаях я получаю сообщение об ошибке:

Код: Выделить всё

  File "/application/project/kafka_loader/database.py", line 12, in execute_in_oracle
cursor.execute(sql)
File "/application/project/kafka_loader/kafka_env/lib/python3.11/site-packages/oracledb/cursor.py", line 710, in execute
impl.execute(self)
File "src/oracledb/impl/thin/cursor.pyx", line 196, in oracledb.thin_impl.ThinCursorImpl.execute
File "src/oracledb/impl/thin/protocol.pyx", line 440, in oracledb.thin_impl.Protocol._process_single_message
File "src/oracledb/impl/thin/protocol.pyx", line 441, in oracledb.thin_impl.Protocol._process_single_message
File "src/oracledb/impl/thin/protocol.pyx", line 433, in oracledb.thin_impl.Protocol._process_message
File "src/oracledb/impl/thin/messages.pyx", line 74, in oracledb.thin_impl.Message._check_and_raise_exception
oracledb.exceptions.DatabaseError: ORA-03150: end-of-file on communication channel for database link
ORA-02063: preceding line from CURRENCY
Help: https://docs.oracle.com/error-help/db/ora-03150/
Строка подключения выглядит следующим образом:

Код: Выделить всё

import oracledb

connection_curr = oracledb.connect(
user="user",
password="password",
dsn="ip_address/db_name")

class DB:
def execute_in_oracle(sql):
with connection_curr.cursor() as cursor:
cursor.execute(sql)
oracle_data = cursor.fetchone()
return oracle_data
Как можно избежать этой ошибки?

Подробнее здесь: https://stackoverflow.com/questions/793 ... -ora-03150
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»