Изменение сеанса «при вызове» запроса через Oracle DB-Link
У меня проблема с удаленной базой данных и функциональным индексом. Когда я вызываю запрос по ссылке на БД из баз данных с «нормальным индексом», эта БД передает параметры сеанса из базы данных, которая вызывает ссылку на БД. Но мне нужны параметры сеанса, настроенные в удаленной базе данных (NLS_COMP=LINGUISTIC & NLS_SORT=BINARY_CI).
Можно ли изменить сеанс вызывающей базы данных при открытии ссылки на БД? Таким образом, сеанс автоматически изменяется, если, например, отправлено сообщение select * from [email protected] .
заранее спасибо
1 ответ
Я не знаю, как изменить сеанс по ссылке на базу данных.
Я не знаю, что именно вы делаете (поскольку вы не опубликовали никакого кода), но - если вы использовали соответствующую подсказку (driving_site
) и применитьnls_sort
в запросе, возможно, он сделает то, что вы хотели.
Это глупый пример, но он иллюстрирует то, что я пытаюсь сказать:
SQL> select /*+ driving_site (t) */
2 t.name, d.loc
3 from dept d cross join test@dbl_mike t
4 where t.name = 'Little'
5 and rownum = 1
6 order by nlssort(name, 'NLS_SORT = GERMAN');
NAME LOC
---------- -------------
Little NEW YORK
SQL>