Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-1101288610
denis24
2004-11-24 12:30
2004.12.05
Twincontrol.Controlscount


1-1100708606
Vadd
2004-11-17 19:23
2004.12.05
ищется часть компонента


3-1100007034
EMIL
2004-11-09 16:30
2004.12.05
Запуск DTS


4-1098203270
Grundic
2004-10-19 20:27
2004.12.05
!ПОЛНЫЙ! путь к .EXE через PID или его HANDLE - как?


1-1100417665
Андрей Томск
2004-11-14 10:34
2004.12.05
Перехват события компоненты COM-порта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский