powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Динамическое ссылка к базе
11 сообщений из 11, страница 1 из 1
Динамическое ссылка к базе
    #37610773
Фотография Daedroth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полазил по форуму, но ничего не нашел. Собственно у меня проект из 40 страниц, на каждой SQL запрос и все данные эти запросы берут с тестовой базы. Можно ли написать какую ни будь функцию/процесс что бы конектиться к другой базе.

Тоесть, например написанно "select * from table@ dbtest " я кликаю на линк(или кнопку) и на все 40 страницах запрос меняется на "select * from table@ dbreal ".

Заранее спасибо
...
Рейтинг: 0 / 0
Динамическое ссылка к базе
    #37610969
flame33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Daedroth,
а если в application item сохранять название БД, и менять его при нажатии на кнопку. А в запросах во from написать название переменной
...
Рейтинг: 0 / 0
Динамическое ссылка к базе
    #37610983
Фотография Daedroth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flame33,

То есть написать что-то типа "select * from :DB_NAME"? Я правильно понял?
...
Рейтинг: 0 / 0
Динамическое ссылка к базе
    #37611013
flame33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Daedroth,
да. только не знаю, даст ли apex так написать, нет возможности проверить. наверное придется отключить парсинг запроса. и переменная должна быть уровня application, чтобы на всех страницах поменять сразу
...
Рейтинг: 0 / 0
Динамическое ссылка к базе
    #37611025
Фотография Daedroth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flame33,

APEX ругается. Как парсинг запроса отключить в репорте я знаю, но в айтемах как это сделать?
...
Рейтинг: 0 / 0
Динамическое ссылка к базе
    #37611199
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Daedroth,

Попробуйте через синонимы.
Код: plsql
1.
CREATE PUBLIC SYNONYM mytable FOR mytable@dbtest;


А по кнопке пересоздавайте синоним с dblink-ом на другую базу.
...
Рейтинг: 0 / 0
Динамическое ссылка к базе
    #37611212
Фотография Daedroth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
haXbat,

У меня 6 (или 8?) разных таблиц. Мне что 6 кнопок делать?
...
Рейтинг: 0 / 0
Динамическое ссылка к базе
    #37611224
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Daedroth,

Я ошибся, синоним-то для всех изменится, а не в рамках приложения.
...
Рейтинг: 0 / 0
Динамическое ссылка к базе
    #37611379
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему, возможно стоит поэкспериментировать, без PUBLIC, может отдельную схему создать с синонимами

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
for ... in (select object_name from all_objects@dbreal t
            where owner = 'OWNER'
              and object_type in ('TABLE','VIEW','SEQUENCE',...)) loop
            
    execute immediate 'create synonym ...';
end loop;

for ... in (select table_name from all_tables@dbtest t
            where owner = 'OWNER'
              and object_type in ('TABLE','VIEW','SEQUENCE',...)) loop
            
    execute immediate 'drop synonym ...';
end loop;



Хотя стоит ли игра свеч, непонятно, может проще 2 апекса поставить? один на dbtest, другой на dbreal
...
Рейтинг: 0 / 0
Динамическое ссылка к базе
    #37611399
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще можно попробовать сделать 2 схемы, в одной синонимы на dbtest, в другой синонемы на dbreal

и триггер примерно такой

CREATE OR REPLACE TRIGGER trig_test
AFTER LOGON ON DATABASE
DECLARE
BEGIN
IF (USER = 'APEX_PUBLIC_USER' или другой под которым апекс ходит) then

if (кнопка нажата) THEN

execute immediate 'alter session set current_schema = SCHEMA1';
else
execute immediate 'alter session set current schema = SCHEMA2';
END IF;
END trace_trig;
/

но это я не пробовал, нужно эксперименторовать, осторожно
...
Рейтинг: 0 / 0
Динамическое ссылка к базе
    #37611413
Фотография Daedroth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDev,

Спасибо. Будем эксперементировать
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Динамическое ссылка к базе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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