Raw SQL Query "изменить набор сеансов NLS_DATE_FORMAT = 'DD-MON-YYYY'" не обновляется в SQLAlchemy - PullRequest
2 голосов
/ 07 мая 2020

Вот класс Oracle_Connect, определенный в python, имеющий инициализацию соединения, как указано ниже.

from sqlalchemy import types, create_engine, inspect
from sqlalchemy.pool import NullPool

class OracleConnect():
    def __init__(self,username,password,db_name):
        self.conn = create_engine('oracle+cx_oracle://{}:{}@x601:1522/?service_name={}'.format(username,password,db_name), poolclass=NullPool)

Метод экземпляра, определенный в классе, изменяет сеанс, как показано ниже.

def set_dt_mask(self):
    self.conn.execute('''alter session set NLS_DATE_FORMAT=\'DD-MON-YYYY\'''')

Когда он выполняется на моей машине впервые, он работает, изменяя маску даты и времени сеанса. Но давайте предположим, что если мы изменим маску даты и времени, это будет в будущем, например,

def set_dt_mask(self):
    self.conn.execute('''alter session set NLS_DATE_FORMAT=\'DD-MM-YYYY HH24:MI:SS\'''')

Оператор выполняется, но, к сожалению, не обновляет маску даты и времени для сеанса. Он цепляется за маску, которая была определена ранее. Можно что-то сделать, чтобы решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...