Ситуация такова: таблица, которая используется в запросе (назовите ее SUMMARY), ранее находилась на том же сервере и в базе данных, в которой я выполняю все запросы приложения (назовите ее server1 и DB1). Но недавно таблица SUMMARY была удалена из этой базы данных, что делает необходимым обращение к другим комбинациям сервер / база данных.
Данные из имени сервера и базы данных, которые будут использоваться для доступа к таблице SUMMARY, для этой цели параметризованы в таблице. Эти данные зависят от базы данных, которая подключена, таким образом: например, если я нахожусь в базе данных DB1 сервера server1, то параметры будут равны server21 и DB21, тогда как если кто-то ссылается на параметры из DB5 из параметров server1, то это будет server16. и DB16.
С этой стороны у меня нет проблем, потому что я перечислил SQL-запрос двух параметров, готовый дать имя сервера и базы данных для консультации в каждом случае. Этот запрос необходим для того, чтобы дать имя сервера и имя базы данных, с которыми динамически генерируется источник данных для подключения.
Проблема и тема этой записи в том, приходилось ли кому-либо когда-либо динамически конфигурировать источник данных, который будет использоваться в hibernate.properties, поскольку обычно это одно фиксированное значение, и в этом случае следует разрешить изменения в чтобы просмотреть таблицу SUMMARY (используя параметры, полученные моим SQL-запросом) только в этом конкретном случае , тогда как все остальные операции с базой данных должны выполняться с использованием исходных свойств соединения.
То есть: мне нужно динамически генерировать источник данных на основе параметров, поступающих из запроса, поэтому подходы, которые справляются с этим, заранее зная , сколько и каковы возможные соединения должен быть отброшен , потому что они не способны решить мою проблему.
Характеристики приложения:
- ядро базы данных: SQL Server 2005
- Prog. Язык: Java 5.0
- Каркасы: Spring 2.0.4, Hibernate 3.0.5
- App. Сервер: WAS 6.1
Заранее спасибо всем, кто обладает этими знаниями и хочет поделиться.