|
Динамическое ссылка к базе
|
|||
---|---|---|---|
#18+
Полазил по форуму, но ничего не нашел. Собственно у меня проект из 40 страниц, на каждой SQL запрос и все данные эти запросы берут с тестовой базы. Можно ли написать какую ни будь функцию/процесс что бы конектиться к другой базе. Тоесть, например написанно "select * from table@ dbtest " я кликаю на линк(или кнопку) и на все 40 страницах запрос меняется на "select * from table@ dbreal ". Заранее спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2012, 12:27 |
|
Динамическое ссылка к базе
|
|||
---|---|---|---|
#18+
Daedroth, а если в application item сохранять название БД, и менять его при нажатии на кнопку. А в запросах во from написать название переменной ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2012, 13:36 |
|
Динамическое ссылка к базе
|
|||
---|---|---|---|
#18+
flame33, То есть написать что-то типа "select * from :DB_NAME"? Я правильно понял? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2012, 13:42 |
|
Динамическое ссылка к базе
|
|||
---|---|---|---|
#18+
Daedroth, да. только не знаю, даст ли apex так написать, нет возможности проверить. наверное придется отключить парсинг запроса. и переменная должна быть уровня application, чтобы на всех страницах поменять сразу ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2012, 13:54 |
|
Динамическое ссылка к базе
|
|||
---|---|---|---|
#18+
flame33, APEX ругается. Как парсинг запроса отключить в репорте я знаю, но в айтемах как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2012, 13:58 |
|
Динамическое ссылка к базе
|
|||
---|---|---|---|
#18+
Daedroth, Попробуйте через синонимы. Код: plsql 1.
А по кнопке пересоздавайте синоним с dblink-ом на другую базу. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2012, 14:58 |
|
Динамическое ссылка к базе
|
|||
---|---|---|---|
#18+
haXbat, У меня 6 (или 8?) разных таблиц. Мне что 6 кнопок делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2012, 15:04 |
|
Динамическое ссылка к базе
|
|||
---|---|---|---|
#18+
Daedroth, Я ошибся, синоним-то для всех изменится, а не в рамках приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2012, 15:07 |
|
Динамическое ссылка к базе
|
|||
---|---|---|---|
#18+
Почему, возможно стоит поэкспериментировать, без PUBLIC, может отдельную схему создать с синонимами Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Хотя стоит ли игра свеч, непонятно, может проще 2 апекса поставить? один на dbtest, другой на dbreal ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2012, 16:14 |
|
Динамическое ссылка к базе
|
|||
---|---|---|---|
#18+
И еще можно попробовать сделать 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; / но это я не пробовал, нужно эксперименторовать, осторожно ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2012, 16:25 |
|
|
start [/forum/topic.php?fid=50&msg=37610983&tid=1876268]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 137ms |
0 / 0 |