Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];

Вниз

Промежуточная база?   Найти похожие ветки 

 
Zoa ©   (2005-01-14 10:43) [0]

Необходимо писать в MSSQL и в случае обрыва связи, то есть через промежуточный файл (или базу). Требование - отсутствие доп. установок компонент (типа BDE и т.д.) - например, ADO. Что посоветуете?


 
Fay ©   (2005-01-14 10:45) [1]

Если не секрет, как Вы вАщЕ подключаетель с MSSQL?


 
Zoa ©   (2005-01-14 10:55) [2]

AdoConnection


 
Соловьев ©   (2005-01-14 10:57) [3]

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


 
Fay ©   (2005-01-14 10:59) [4]

>> отсутствие доп. установок компонент (типа BDE и т.д.) - например, ADO.
>> AdoConnection

?!!


 
Zoa ©   (2005-01-14 10:59) [5]

Где найти?


 
Fay ©   (2005-01-14 11:04) [6]

Что найти?!


 
vlad_ri   (2005-01-14 11:04) [7]

Почитайте про TClientDataSet


 
Zoa ©   (2005-01-14 11:05) [8]

>> отсутствие доп. установок компонент (типа BDE и т.д.) - например, ADO.
>> AdoConnection
>>?!!

Тире! Иначе, ADO не требует установки доп. компонент - компонент ОС! Например, BDE компоненты без установленной BDE работать не будут!


 
Соловьев ©   (2005-01-14 11:09) [9]

http://olegmotov.h1.ru/articles/inprisemidas/toc.htm


 
Zoa ©   (2005-01-14 11:09) [10]

>>Почитайте про TClientDataSet

Может, ошибаюсь, но он хранит в памяти, а не в файле. Данные пишутся регулярно (например, с прибора). При обрыве надолго такая нагрузка на вирт. память....


 
Fay ©   (2005-01-14 11:12) [11]

2 Zoa ©   (14.01.05 11:09) [10]
Разделите локальное сохранение и сохранение в базу. Типа по умолчанию связи с сервером нет, а если есть, то запуздыриваем туда из буфера.


 
vlad_ri   (2005-01-14 11:13) [12]

А теперь предположим что вы ставите вашу программу на динозавра с Win95 или Win98 там ADO и в помине нету, придётся вам до устанавливать mdac...


 
Fay ©   (2005-01-14 11:13) [13]

>> При обрыве надолго такая нагрузка на вирт. память....
А писать надо не в виртуальную, а во внешнюю память (типа на винт).


 
Fay ©   (2005-01-14 11:15) [14]

2 vlad_ri   (14.01.05 11:13) [12]
Это не страшно : можно написать промежуточный сервер с требованиями попроще - часто это не задруднительно.


 
ЮЮ ©   (2005-01-14 11:17) [15]

>Данные пишутся регулярно (например, с прибора)

Не сами же они пишутся. И не в TTable, надеюсь.

try
 <записать в БД>
exсept
 <записать в локальный файл>
end

+ найти место и время для передачи на сервер записанных ранее на локальном компе данных


 
Zoa ©   (2005-01-14 11:17) [16]

>>2 Zoa ©   (14.01.05 11:09) [10]
>>Разделите локальное сохранение и сохранение в базу. Типа по ...
Спасибо, до этого я и сам догадался. Но какая простая БД есть в моем распоряжении на лок. компе? Это я и спрашиваю!


 
Fay ©   (2005-01-14 11:19) [17]

СreateFile()


 
Zoa ©   (2005-01-14 11:22) [18]

>>А теперь предположим что вы ставите вашу программу ....
win2000 - корпоративный стандарт. Манией величия (написать программу всех времен и народов) - не страдаю.


 
Fay ©   (2005-01-14 11:29) [19]

>> win2000 - корпоративный стандарт
Тогда Jet


 
vlad_ri   (2005-01-14 11:33) [20]

2 Zoa  (14.01.05 11:22) [18]
Спасибо хоть что сказали какой у вас стандарт а то мы ж люди бедные иной раз и на 4-ках работаем!

Но кажется  я вам уже советовал обраттиться к документации по TClientDataSet у него есть метод:

procedure SaveToFile(const FileName: string = ""; Format TDataPacketFormat=dfBinary);

Description

Call SaveToFile to write a client dataset’s data to an external file for later use by this or other client datasets.

FileName is the name of the external file to use. If the file already exists, its current contents are overwritten. If an empty string is passed for the FileName parameter (or, in Delphi, if this parameter is omitted), the data is saved to the file specified by the FileName property.

Format indicates what format to use when saving the data, binary (dfBinary) or XML (dfXML), or UTF8-based XML (dfXMLUTF8).


 
Zoa ©   (2005-01-14 11:41) [21]

>>Тогда Jet
Access надо сжимать вручную, а то вырастет.


 
Zoa ©   (2005-01-14 11:45) [22]

>>Спасибо хоть что сказали какой у вас стандарт ....
Если TClientDataSet хранит все в памяти, то сохранение есть просто дублирование на винт. Или я не прав и в памяти только несохраненная часть?


 
Zoa ©   (2005-01-14 11:48) [23]

>>Не сами же они пишутся ...
Файл будет расти. Его удалять, когда не нужен и создавать при необходимости заново? А если связь прервалась при записи из файла? Тогда еще и определять, что успел записать!... Писать небольшую базу данных вручную не хочется. Я и спрашиваю про стандартные компоненты.


 
Zoa ©   (2005-01-14 11:52) [24]

>>http://olegmotov.h1.ru/articles/inprisemidas/toc.htm

Спасибо, уже смотрю. Но слишком много. Пока даже не понял, не дополнительная компонента ОС ли это? Черкните пару слов по теме, если можно.


 
vlad_ri   (2005-01-14 11:58) [25]

2 Zoa ©   (14.01.05 11:45) [22]
В принципе вы правы, сохраняется всё содержимое, но у этого компонента есть свойство Delta которое содержит изменённые строки и те изменения которые над данными были произведены, метод ApplyUpdates производит запись изменений в базу возвращая количество ошибок если таковые имели место быть


 
vlad_ri   (2005-01-14 12:01) [26]

2 Zoa ©   (14.01.05 11:45) [24]
нет, это не дополнительный компонент но переписать и зарегистрировать midas.dll на машине клиента вам придётся...


 
Fay ©   (2005-01-14 12:01) [27]

>> А если связь прервалась при записи из файла?
Есть такая хорошая штука - MTS


 
vlad_ri   (2005-01-14 12:03) [28]

2 Fay ©   (14.01.05 12:01) [27]
Вы на счёт Microsoft Transaction Server?


 
Fay ©   (2005-01-14 12:07) [29]

2 vlad_ri   (14.01.05 12:03) [28]
Нет, блин! Просто Мегафон не люблю! 8)
Конечо Microsoft Transaction Server.


 
sniknik ©   (2005-01-14 12:13) [30]

точно так же как клиентдатасет ододатасет позволяет создавать такиеже (аналогичные) файлы, и в памяти также держит. и все одно уже используются компаненты.


 
Fay ©   (2005-01-14 12:14) [31]

О, мастера подтягиваются 8)


 
vlad_ri   (2005-01-14 12:16) [32]

2 Fay ©   (14.01.05 12:07) [29]
Уж тогда COM+, у них Win2k стандарт, а MTS стала частью COM+


 
vlad_ri   (2005-01-14 12:18) [33]

2 sniknik ©   (14.01.05 12:13) [30]
Будьте столь любезны не спешить когда пишите, а то у меня плохо с осмысливанием...


 
Fay ©   (2005-01-14 12:19) [34]

2 vlad_ri   (14.01.05 12:18) [33]
Ага 8)


 
Romkin ©   (2005-01-14 12:27) [35]

http://www.rsdn.ru/article/db/briefcase1.xml
Там же есть и по MIDAS


 
sniknik ©   (2005-01-14 12:34) [36]

vlad_ri   (14.01.05 12:18) [33]
> 2 sniknik ©   (14.01.05 12:13) [30]
> Будьте столь любезны не спешить когда пишите, а то у меня плохо с осмысливанием...
примерно то же что позволяет clientdataset можно сделать и с помощью adodataset, в плане временного сохранения данных (посмотри хелп по SaveToFile у него).  
а проблема (о ради чего предлагался clientdataset) именно в этом, не так?


 
Роман Снегирев   (2005-01-14 12:37) [37]

В dbExpress есть вроде драйверок для работы с MySql, а вообще зачем оно (MySQL) вообще тебе надо, там ведь насколько я знаю ни ХП, ни Триггеров (соответственно даже ссылочная целостность не пооддерживается), транзакции то и то вчера только появились, чего ты делать то с ним будешь?


 
Роман Снегирев   (2005-01-14 12:38) [38]

извиняюсь, не туда запостил мессидж


 
vlad_ri   (2005-01-14 13:37) [39]

2 sniknik ©   (14.01.05 12:34) [36]
Я не совсем согласен с вами, AdoDataSet сохраняет в файл все данные не делая никакого различия между изменёнными и не изменёнными данными. После сохренения в файл вы никогда больше не узнаете какие записи были изменены и какие именно изменения были проезведены, для этого вам останеться только сверить записи на стороне клиента и сервере, а теперь представьте что их не сотня и не тасяча а сотни тысячь, сколько времени вам потребуеться на сверку? В свою очередь Delta ClientDataSet-a даже после LoadFromFile содержит изменённые данные и вы можете выполнить ApplyUpdates, причём никто не запрещает вам передать по сети файл созданный ClientDataSet-ом  либо скопировать на дискету, CD если у вас нет другого способа доступа к серверу и там произвести обновление данных на сервере...


 
Anatoly Podgoretsky ©   (2005-01-14 13:41) [40]

Наличие АДО на машине, не гарантирует наличия библиотек JET и MS SQL Provider. Многократно сталкивался с этим.



Страницы: 1 2 вся ветка

Форум: "Базы";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.039 c
9-1082472667
smb
2004-04-20 18:51
2005.02.13
скачайте, посмотрите.


1-1106858459
SergP
2005-01-27 23:40
2005.02.13
Как запустить другое приложение и дождаться его завершения?


1-1106922478
BFG9k
2005-01-28 17:27
2005.02.13
DateTime из строки вида 12:01:29 30/01/05


14-1106727675
AlexKniga
2005-01-26 11:21
2005.02.13
Загадки


1-1107240934
syte_ser78
2005-02-01 09:55
2005.02.13
TLSDNumber





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский