powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / SYS_CONTEXT через cx_Oracle
9 сообщений из 9, страница 1 из 1
SYS_CONTEXT через cx_Oracle
    #39301365
Ora_fan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работаю с Python 2.7 Oracle - 11g

При разборе причин срабатывания на подключение тригера AFTER_LOGON_FIREWALL (изменить его пока не дано)
обнаружил, что соединения выполняемые через cx_Oracle.execute
обрабатываются иначе, нежели соединения других приложений для работы с Oracle

Если для Toad или SQL Developer для соединения в тригере функция

Код: plsql
1.
SYS_CONTEXT('USERENV', 'HOST') 


выдает имя машины регистрозависимо , как это показано в свойствах системы,
то при запросе через cx_Oracle.execute функция возвращает значение хоста
в верхнем регистре, да еще с именем домена ДОМЕН\\ИМЯ МАШИНА

соединение устанавливается строкой вида
Код: plsql
1.
con = cx_Oracle.connect('system/пароль@БД_хост/имя_сервиса')


пробовал с таким же результатом
Код: plsql
1.
2.
3.
4.
5.
username = 'system'
pwd = 'пароль'
tns_name = cx_Oracle.makedsn('хост','1521',ORACLE_SID)

con = cx_Oracle.connect(username,pwd,tns_name)


Вдруг у кого есть информация, можно ли установить соединение так,
чтобы SYS_CONTEXT работала для него стандартно, тригер изменить не могу.
...
Рейтинг: 0 / 0
SYS_CONTEXT через cx_Oracle
    #39301382
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте "БД_хост" в двойные кавычки взять
...
Рейтинг: 0 / 0
SYS_CONTEXT через cx_Oracle
    #39301390
Ora_fan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous,

аналогично,
может с NLS параметрами поиграть
...
Рейтинг: 0 / 0
SYS_CONTEXT через cx_Oracle
    #39301410
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ora_fanandrey_anonymous,
аналогично
Я нагнал - попутал хосты :)

Коммерческие приложения себя идентифицируют.
Если (самописное) приложение не озаботилось - то клиент делает это сам, как умеет.
Посмотрите тут:
http://docs.oracle.com/cd/B19306_01/network.102/b14266/apdvcntx.htm#CHDEDADE
...
Рейтинг: 0 / 0
SYS_CONTEXT через cx_Oracle
    #39301424
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вот тут обратите внимание на Connection.clientinfo
http://cx-oracle.readthedocs.io/en/latest/connection.html#Connection.clientinfo
...
Рейтинг: 0 / 0
SYS_CONTEXT через cx_Oracle
    #39301431
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, опять гоню. Не оно.
...
Рейтинг: 0 / 0
SYS_CONTEXT через cx_Oracle
    #39301455
Ora_fan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous,

Есть

connection.clientinfo
connection.module
connection.action

connection.host нету...
...
Рейтинг: 0 / 0
SYS_CONTEXT через cx_Oracle
    #39301480
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ora_fanconnection.host нету...
Угу. Нету.
"DOMAIN\HOST" - формирует oracle client (то же в sqlplus, pl/sql Dev).
"Регистрозависимый хост" - насколько я понял, это jdbc.
Рукояток управления пока не нашел, вероятен хардкод.
Не в курсе, возможно ли сам cx_Oracle перевести на джавский драйвер, но питона-то вроде можно...
...
Рейтинг: 0 / 0
SYS_CONTEXT через cx_Oracle
    #39301697
Ora_fan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous,

Действительно, в sqlplus та же фигня.

Видимо проще дождаться даунтайма и согласовать изменение тригера
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / SYS_CONTEXT через cx_Oracle
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]