Сегодняшние сообщения (вкл)
| Сообщения без ответа (откл)
Форум: Firebird, HQbird, InterBase
|
Тема: Ошибка при выполнении execute statement в триггере на соединении
|
Re: Ошибка при выполнении execute statement в триггере на соединении [сообщение #6163 является ответом на сообщение #6147] |
Sat, 12 July 2025 01:15 |
hvlad
Сообщений: 380 Зарегистрирован: August 2022
|
Senior Member |
|
|
Проблему воспроизвел.
Отдельно замечу
1. То, что написано в DB5.SQL
execute statement (:S)
(:p02,:p03,:p04,:p05,:p06,:p07,:p08,:p09,:p10,:p11,:p13,:p14,:p15, p16,:p17,:p18,:p19,:p20,:p21,:p22,:p23,:p24,:p25,p26,:p27,:p28,:p29,:p30)
as user CURRENT_USER
on external data source 'localhost/3055:LOG_DB5'
with caller privileges
into :curr_conn_id;
в принципе никак не может работать, ибо юзер указан (CURRENT_USER), а пароль - нет.
2. with caller privileges не имеет ровно никакого смысла для внешних коннектов.
3. В ExecuteBlock.sql используется другой код
execute statement (:S)
(:p02,:p03,:p04,:p05,:p06,:p07,:p08,:p09,:p10,:p11,:p13,:p14,:p15, p16,:p17,:p18,:p19,:p20,:p21,:p22,:p23,:p24,:p25,p26,:p27,:p28,:p29,:p30)
on external data source 'LOG_DB'
into :curr_conn_id;
который уже не содержит этих ошибок.
4. про триггер DISCONN_BI0 я вообще не буду говорить
|
|
|
Re: Ошибка при выполнении execute statement в триггере на соединении [сообщение #6164 является ответом на сообщение #6163] |
Sat, 12 July 2025 01:38 |
shavluk
Сообщений: 87 Зарегистрирован: June 2022 Географическое положение: Одеса
|
Member |
|
|
hvlad писал(а) Fri, 11 July 2025 22:15
в принципе никак не может работать, ибо юзер указан (CURRENT_USER), а пароль - нет.
Цитата:- if PASSWORD clause is omitted then
a) if <user_name> is omitted, NULL or equal to CURRENT_USER value and
if <role_name> is omitted, NULL or equal to CURRENT_ROLE value
then trusted autentication is performed, and
a1) for current connection (ON EXTERNAL DATA SOURCE is omitted) -
CURRENT_USER/CURRENT_ROLE is effective user account and role
a2) for local database (<connection_string> refers to the current database) -
CURRENT_USER/CURRENT_ROLE is effective user account and role
a3) for remote database - operating system account under which engine
process is currently run is effective user account.
b) else isc_dpb_user_name (if <user_name> is present and not empty) and isc_dpb_sql_role_name
(if <role_name> is present and not empty) will be filled in DPB and native autentication
is performed.
|
|
|
|
Текущее время: Sat Jul 12 17:16:47 GMT+3 2025
Общее время, затраченное на создание страницы: 0.01878 секунд
|