Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2008, 06:37   #1
Ramires
Пользователь
 
Аватар для Ramires
 
Регистрация: 23.07.2008
Сообщений: 69
По умолчанию Синхронизация баз данных

Привет Всем!
Есть две SQL базы данных. Необходимо согласовать несколько таблиц из первой базы со второй базой. Для этого я пишу небольшое приложение на делфи.
Для каждой базы создал свой ADOConnection, для таблиц ADOTable и ADOSource соответственно. Запросы делаю через ADOQuery, и собственно вопрос. Как мне делать сравнение и вставку данных одной базы в другую, ведь в ADOQuery в Connection я могу выбрать только один ADOConnection..
I like beer.. more beer..
Ramires вне форума Ответить с цитированием
Старый 13.08.2008, 06:59   #2
Ramires
Пользователь
 
Аватар для Ramires
 
Регистрация: 23.07.2008
Сообщений: 69
По умолчанию

Блин.. догнал.. Сорри.. Но все равно напишите плиз идеи свои.. вдруг у меня что не пойдет..
I like beer.. more beer..
Ramires вне форума Ответить с цитированием
Старый 14.08.2008, 05:21   #3
Ramires
Пользователь
 
Аватар для Ramires
 
Регистрация: 23.07.2008
Сообщений: 69
По умолчанию

Не пошло.. подскажите как..
В общем выбрать надо записи из одной таблицы базы данных №1, да еще и отличные от записей таблицы базы данных №2 и результат поместить в базу данных №2.
С утра пришло в голову следующее.. все данные одной таблицы закинуть во вторую таблицу.. а потом просто поудалять записи дубликаты..
Ну это ладно.. в таблице на 200 записей я допустим смогу это сделать..
Но вот остальные таблички.. в одной 180000 записей.. во второй все 200000.. это ж ужос..
Помогите... пожалусто! На php мне как то видится решение этой задачи.. а вот на делфе с использованием ADO затрудняюсь..
I like beer.. more beer..
Ramires вне форума Ответить с цитированием
Старый 14.08.2008, 08:59   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вопросы:
- О какой СУБД идёт речь?
- у Вас две разные СУБД или две разные БД в рамках одной СУБД или две разные таблицы в одной БД?
- по каким полям собираетесь согласовывать (сравнивать) - по всем? ключевое поле есть? ID-шники тоже будете сравнивать?

пока лично я вижу решение Вашей проблемы через обычный SQL запрос, в котором учавствуют обе Ваши таблицы...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.08.2008, 09:49   #5
Ramires
Пользователь
 
Аватар для Ramires
 
Регистрация: 23.07.2008
Сообщений: 69
По умолчанию

Субд MSSQL.
Базы две разные, но три таблицы в них почти схожи.. только это почти как раз и мешает просто копировать в самой субд эти таблицы.
Ключевые поля есть - код записи.
Теоретически я решил сделать так.
1) Сделать запрос на выборку всех данных из "свежей" таблицы базы №1
2) Добавлять запись из 1 запроса в "обновляемую таблицу" базы №2 если ее записи хоть как то отличаются.

Первый запрос без труда. В ADOQuery пишу следующее select * from base_number1
А как теперь во втором ADOQuery организовать вставку с учетом параметров выбранных выше..

и еще хотел спросить.. что за зверь такой компонента ADOX. Когда искал решение в поисковиках набрел на эту штуковину.. типо она с легкостью решит мои проблемы..
I like beer.. more beer..

Последний раз редактировалось Ramires; 14.08.2008 в 10:28.
Ramires вне форума Ответить с цитированием
Старый 14.08.2008, 21:24   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Если условием добавления/не добавления записи выступает значение поля которое есть Primary KEY(первичный ключ=идентификатор) либо набор полей UNIQ index (уникальюый индекс) то можно добавлять все записи сервер сам не допустит записи с совпадающими значениями
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 15.08.2008, 03:34   #7
Ramires
Пользователь
 
Аватар для Ramires
 
Регистрация: 23.07.2008
Сообщений: 69
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
Если условием добавления/не добавления записи выступает значение поля которое есть Primary KEY(первичный ключ=идентификатор) либо набор полей UNIQ index (уникальюый индекс) то можно добавлять все записи сервер сам не допустит записи с совпадающими значениями
Ооо.. пасиб.. геморроем меньше..
I like beer.. more beer..
Ramires вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу: синхронизация папок. Квэнди Софт 8 21.05.2009 13:36
Объединение (синхронизация) данных в Microsoft Office Excel Алексндр Microsoft Office Excel 2 29.07.2008 08:12
Импорт внешних данных, синхронизация по времени slba Microsoft Office Excel 3 15.07.2008 13:05
Синхронизация приложений format Помощь студентам 2 13.04.2008 17:29