Форум: "Начинающим";
Текущий архив: 2007.01.07;
Скачать: [xml.tar.bz2];
ВнизОтображение в dbgrid таблиц из разных БД Найти похожие ветки
← →
Sewix © (2006-12-04 22:05) [0]У меня распределенная БД. Interbase, Access, MS SQL server.
Interbase подключен через IBDatabase IBTransaction1.
Отображаю таблицы через IBQuery.
Access и MS SQL подключены через ADOConnection.
Отображаю таблицы через ADOQuery.
Каждую таблицу отдельно успешно получилось отобразить в dbgrid.
Как мне одновременно вывести все таблицы из разных баз в один dbgrid?
← →
sniknik © (2006-12-04 22:52) [1]использовать ADO с подключением к MS SQL, в ADODataSet сделать гетерогенный запрос с обледенением различных рекордсетов, для Access использовать Jet, для Interbase любой найденный OLEDB провайдер. грид подцепить к этому датасету.
читать BOL по теме OpenRowset и связанном. (это вместо F1 ;)
то же самое можно в принципе сделать и от Access-а, тогда смотри справку аксесса по isam-ам, в частности по исаму ODBC.
для Interbase такого варианта нет. он не поддерживает гетерогенные запросы (или уже научился в новых версиях? кто там с 7.х работал?)
или можно на клиенте все "слить" в один рекордсет, клиентский, либо тот же адошный используемый в режиме кешированных изменений (чтоб в базу не записывалось) или вообще "оторванный" от базы (типа для гарантии).
← →
Sergey13 © (2006-12-05 08:45) [2]> [0] Sewix © (04.12.06 22:05)
А по какому принципу все три таблицы из разных БД должны отбражаться в одном гриде (при чем тут вообще грид)? Они (данные таблицы) как то связаны между собой? Почему вообще возник такой зоопарк в одной программе?
← →
Sewix © (2006-12-05 09:37) [3]Все три таблицы из разных БД участвуют в одном sql запросе.
Все прекрастно работает в одном interbase.
Задача засвести зоопарк Interbase, Access, MS SQL server, именно так и сформулирована.
Dbgrid связан с DataSource с Query. Если одна база то все работает.
А как быть если несктолько DataSource с Query из разных БД?
← →
novill © (2006-12-05 09:52) [4]заливай их в один клиентдатасет.
← →
Sergey13 © (2006-12-05 10:08) [5]> [3] Sewix © (05.12.06 09:37)
> Задача засвести зоопарк Interbase, Access, MS SQL server, именно так и сформулирована.
Кем сформулирована? Зачем это надо? Может имеется в виду возможность выбора для работы разных СУБД, но не в одном сеансе, а в принципе?
В БДЕ существуют гетерогенные запросы, но имеет ли смысл перехода на БДЕ - вот вопрос.
← →
Плохиш © (2006-12-05 11:03) [6]
> Sergey13 © (05.12.06 10:08) [5]
> > [3] Sewix © (05.12.06 09:37)
>
> > Задача засвести зоопарк Interbase, Access, MS SQL server,
> именно так и сформулирована.
> Кем сформулирована?
Время лабораторных пришло, неужели не понятно :-P
← →
sniknik © (2006-12-05 11:57) [7]> В БДЕ существуют гетерогенные запросы, но имеет ли смысл перехода на БДЕ - вот вопрос.
ADO УЖЕ используется, 2 из 3х указанных движков УЖЕ поддерживают гетерогенные запросы, зачем еще кудато "переходить"?
надо просто использовать существующие возможности уже выбранных и уже используемых средств.
← →
Sewix © (2006-12-19 10:26) [8]2 Sergey13
Задача состоит в том, чтобы работать как раз сразу с несколькими бд одновременно. Сформулирована, как тут уже угадали преподавателем.
Проблему стал решать так:
Прилинковал к аксесу mssql и interbase. И работал с этой базой. Что позволило работать сразу с несколькими базами.
Но теперь следующая проблема: новые данные в ней отображаются только после перезапуска программы.
Requery не спасает.
Я думаю он кудато кеширует данные. Как его заставить обновить?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.01.07;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c