Форум: "Базы";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
ВнизПроблема с экспортом - импортом Найти похожие ветки
← →
malya (2004-11-08 10:42) [0]Доброе утро Метры баз данных!
Передомной стала проблема которую не могу решить сам :((
Есть центральная база в которой есть таблица с количеством записей примерно 100 тысяч. Необходимо провести экспорт товаров
в другие такие же базы лежащие в локальной сети(тут данные не изменяються) при этом выполнить проверку на наличее таких записей и если надо то обновить (удалить или вставить).Как решить такую проблему?
Пробывал напрямую подключаться к базе, вычитывать данные и
потом сравнивать но на таких обемах все просто померает :(,
пробовал через файл но тогда возникает проблема с тем что
данные в файле могут быть не актуальны (или возникнит проблема
с сетью и т.д)
Использую компоненты FibPlus
Подскажите в каком направлении думать ???
Зарание благодарен!
← →
P.N.P. © (2004-11-08 10:51) [1]Как вариант - в программке IBExpert есть такая фишка -
Table Data Comparer - он сравнит данные таблиц и
выдаст скрипт.
← →
malya (2004-11-08 10:56) [2]Пасибо:)
Но мне надо это реализовать в програме.Администратор
нажал кнопку в программе - данные перелились на другие базы.
← →
HSolo © (2004-11-08 11:01) [3]Посмотрите в сторону репликации
http://ibase.ru/develop.htm - раздел "Репликация"
← →
P.N.P. © (2004-11-08 11:05) [4]Сначала подробнее - каким способом идет экспорт?
А на вскидку:
Сделай процедуру в бд, в которые будут экспортироваться данные и заливай данные с ее использованием.
Процедура примерно след. вида:CREATE PROCEDURE MYTABLE_IU (
ID INTEGER,
NAME VARCHAR(255))
AS
BEGIN
IF (EXISTS(SELECT ID FROM MYTABLE WHERE (ID = :ID))) THEN
UPDATE MYTABLE
SET NAME = :NAME,
WHERE (ID = :ID);
ELSE
INSERT INTO MYTABLE (
ID,
NAME)
VALUES (
:ID,
:NAME);
END
← →
malya (2004-11-08 11:09) [5]В идеали хотелось бы чобы напрямую подключалось к базе.
но тут становиться вопрос что делать если баз 10 и необходимо
одновременно заливать туда данные? (а оно действительно необходимо) Cоздавать 10 потоков ?
За процедуру спасибо. Подумаю :)
← →
P.N.P. © (2004-11-08 11:14) [6]что значит //напрямую подключалось к базе. ?
а вообще - зачем 10 одинаковых баз в локальной сети?
← →
malya (2004-11-08 11:20) [7]>а вообще - зачем 10 одинаковых баз в локальной сети?
под этим я подразумеваю кассовые места куда необходимо
ежедневно заливать допустим наименования товаров
>что значит //напрямую подключалось к базе.
->connect();
-> insert,update,delete
->disconnect();
и т.д для каждой базы
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c