Страница 1 из 1

работа с несколькими БД

Добавлено: 03 май 2011, 21:21
DDark
прочитал данную статью ...
подключил к делфи БД фаербердовскую, вызываю встроенные в БД процедуры - работает
однако условие изменилось: у меня есть 8 одинаковых баз данных по своей структуре и разных по содержанию и одинаковый ко всем БД список запросов, одни из которых должны выбирать из одной из БД, а некоторые - из нескольких. Причем запросы нужно безболезненно добавлять/редактировать/удалять - т.е они должны быть как то отдельно от конкретной БД
также должна быть функция добавления пустой БД со структурой предыдущих

подводя итог: нужно организовать работу с кучей одинаковых БД одним и тем же набором встроенных процедур - не обязательно через IBProvider, т.к там походу это проблематично...

Re: работа с несколькими БД

Добавлено: 04 май 2011, 14:28
Dimitry Sibiryakov
А в чём фенька этого геморроя - иметь 8 баз вместо одной?

Re: работа с несколькими БД

Добавлено: 04 май 2011, 15:22
kdv
ссылка кривая - стесняетесь целиком запостить?

Если надо делать запросы к 8 базам - делайте через что угодно, на мой взгляд никакой разницы нет. Можно использовать execute statement в 2.5, чтобы обновлять базы из одной, но все это выглядит страшновато, потому что действительно неясен смысл синхронизации 8 "одинаковых по структуре баз".

По-моему, исходного вопроса как такового не существует. То есть, синхронизировать или обновлять надо не базы, а конкретные таблицы и данные, соответственно, по мере приближения к деталям вопрос должен максимально проясниться.

Вопрос про "создание базы со структурой предыдущих" игнорирую, т.к. это что-то для начинающих, или не имеет смысла.

Re: работа с несколькими БД

Добавлено: 05 май 2011, 00:50
DDark
больше всего меня смутила необходимость вынесения процедур за базы данных... до сих пор не нашел толкового объяснения как правильнее это сделать.. т.е мне надо: базы - отдельно, процедуры к ним - отдельно.. ну чтобы, так сказать, базы являлись параметрами процедур

8 одинаковых БД получились путем раздачи чистой базы 8ми различным представительствам, которые не имеют возможности работы по сети.. вот теперь нужно из них вытаскивать сведения как по представительствам отдельно, так и по нескольким сразу

Re: работа с несколькими БД

Добавлено: 07 май 2011, 00:29
kdv
"процедура снаружи базы данных" - это приложение, которое работает с базой данных. Не знаю, чего тут мудрить.

Re: работа с несколькими БД

Добавлено: 07 май 2011, 09:52
DDark
да я курсовой пишу.. и вот преподу захотелось непременно так... при этом как подобное реализовать он не знает)))

Re: работа с несколькими БД

Добавлено: 07 май 2011, 14:46
Dimitry Sibiryakov
DDark писал(а):8 одинаковых БД получились путем раздачи чистой базы 8ми различным представительствам, которые не имеют возможности работы по сети.. вот теперь нужно из них вытаскивать сведения как по представительствам отдельно, так и по нескольким сразу
Ну так теперь консолидируй данные из этих баз в одну и будет тебе счастье.

Re: работа с несколькими БД

Добавлено: 10 май 2011, 17:26
DDark
дык нельзя :( так то я понимаю что задание попахивает бредом...
типа нужно создать БД где будут только процедуры и как то организовывать работу этой БД с остальными восьми, причем их может быть и больше...

Re: работа с несколькими БД

Добавлено: 10 май 2011, 22:28
kdv
ссылку убрал, т.к. не понял, при чем тут этот драйвер, когда вы пишете приложение на дельфи. Это как написать, что я пользуюсь одеколоном ..., и пишу приложения на дельфи и фб.

Насчет задания - или вы невнимательно читаете, или там ненормальная терминология, или действительно написан бред.
Допустим, из процедуры можно работать с другой БД (в ФБ 2.5). И можно написать триггеры с такими процедурами так, что таблицы в разных БД будут синхронизироваться. Если вам нужно именно это - так и делайте.

Re: работа с несколькими БД

Добавлено: 10 май 2011, 22:34
DDark
kdv писал(а): Насчет задания - или вы невнимательно читаете, или там ненормальная терминология, или действительно написан бред.
Допустим, из процедуры можно работать с другой БД (в ФБ 2.5). И можно написать триггеры с такими процедурами так, что таблицы в разных БД будут синхронизироваться. Если вам нужно именно это - так и делайте.
да мне и не нужна синхронизация.. но в целом, да - буду пробовать через execute statement - в цикле подключать различные БД путем изменения строки подключения и как то скидывать результаты выборки или в общую кучу или по отдельности.. геморно, но должно получится) спсибо)

Re: работа с несколькими БД

Добавлено: 11 май 2011, 10:04
kdv
мда. и что, правда будете писать процедуру, которая лезет к 8-ми базам по очереди и вытаскивает данные какого-то запроса по очереди? хрень ведь какая-то...

Re: работа с несколькими БД

Добавлено: 12 май 2011, 18:40
DDark
ну препод сказал так и делать... отдельную БД с процедурами, которые вытаскивают из N-ного количества баз нужную инфу... а из приложения передавать в качестве аргумента пути к базам через запятую :D ну ладно.. сделаю)