Страница 1 из 1
FB 1.5 Вопрос по UDF.
Добавлено: 25 июл 2008, 11:06
_SRG_
Здравствуйте.
Возмжно ли внутри функции UDF определить имя БД(файла) для которой производится вызов функции?
М.б. возможно получить имя БД(файла) из системных таблиц запросом?
Добавлено: 25 июл 2008, 11:48
WildSery
А может, передать в UDF имя БД доп. параметром?
Добавлено: 25 июл 2008, 12:51
_SRG_
WildSery писал(а):А может, передать в UDF имя БД доп. параметром?
Хм... хотел это написать еще в первом посте. Такой вариант не устроит. Если бы в ХП обращающейся к UDF можно было бы определить БД, тогда бы устроил вариант передачи параметром.
Хранить название БД "где-то" в БД (таблицах, константа в ХП и т.д.) так же не решит проблему.
Ситуация на самом деле очень реальная:
Есть 1 сервер на нем БД DB_1.GDB бэкапим ее, разворачиваем "рядом" на том же сервере но с именем DB_2.GDB. Вот именно в такой ситуации есть необходимость в UDF различать базы от которых происходит обращение в UDF (общую для обеих БД). Есть мысли как такое реализовать?
Добавлено: 25 июл 2008, 13:38
Tonal
А зачем это может быть нужно?
Добавлено: 25 июл 2008, 16:13
WildSery
При коннекте к БД в RDB$SET_CONTEXT заноси своё название.
ХП будет оттуда брать и передавать УДФ.
Добавлено: 25 июл 2008, 16:26
Merlin
Tonal писал(а):А зачем это может быть нужно?
Чтобы в УДФ сделать Drop Database?
Добавлено: 25 июл 2008, 17:29
_SRG_
WildSery писал(а):При коннекте к БД в RDB$SET_CONTEXT заноси своё название.
ХП будет оттуда брать и передавать УДФ.
Мысль хорошая. Только вот FB 1.5...
Добавлено: 25 июл 2008, 17:43
armagedon2007