![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Промежуточная база? [D7, MSSQL]
Zoa © (2005-01-14 10:43:00)Необходимо писать в MSSQL и в случае обрыва связи, то есть через промежуточный файл (или базу). Требование - отсутствие доп. установок компонент (типа BDE и т.д.) - например, ADO. Что посоветуете?
Fay (2005-01-14 12:14:00) [21]О, мастера подтягиваются 8)
sniknik (2005-01-14 12:13:00) [22]точно так же как клиентдатасет ододатасет позволяет создавать такиеже (аналогичные) файлы, и в памяти также держит. и все одно уже используются компаненты.
Fay (2005-01-14 12:07:00) [23]2 vlad_ri (14.01.05 12:03) [28]
Нет, блин! Просто Мегафон не люблю! 8)
Конечо Microsoft Transaction Server.
vlad_ri (2005-01-14 12:03:00) [24]2 Fay © (14.01.05 12:01) [27]
Вы на счёт Microsoft Transaction Server?
vlad_ri (2005-01-14 12:01:00) [25]2 Zoa © (14.01.05 11:45) [24]
нет, это не дополнительный компонент но переписать и зарегистрировать midas.dll на машине клиента вам придётся...
Fay (2005-01-14 12:01:00) [26]>> А если связь прервалась при записи из файла?
Есть такая хорошая штука - MTS
vlad_ri (2005-01-14 11:58:00) [27]2 Zoa © (14.01.05 11:45) [22]
В принципе вы правы, сохраняется всё содержимое, но у этого компонента есть свойство Delta которое содержит изменённые строки и те изменения которые над данными были произведены, метод ApplyUpdates производит запись изменений в базу возвращая количество ошибок если таковые имели место быть
Zoa (2005-01-14 11:52:00) [28]>> http://olegmotov.h1.ru/articles/inprisemidas/toc.htm
Спасибо, уже смотрю. Но слишком много. Пока даже не понял, не дополнительная компонента ОС ли это? Черкните пару слов по теме, если можно.
Zoa (2005-01-14 11:48:00) [29]>>Не сами же они пишутся ...
Файл будет расти. Его удалять, когда не нужен и создавать при необходимости заново? А если связь прервалась при записи из файла? Тогда еще и определять, что успел записать!... Писать небольшую базу данных вручную не хочется. Я и спрашиваю про стандартные компоненты.
Zoa (2005-01-14 11:45:00) [30]>>Спасибо хоть что сказали какой у вас стандарт ....
Если TClientDataSet хранит все в памяти, то сохранение есть просто дублирование на винт. Или я не прав и в памяти только несохраненная часть?
Zoa (2005-01-14 11:41:00) [31]>>Тогда Jet
Access надо сжимать вручную, а то вырастет.
vlad_ri (2005-01-14 11:33:00) [32]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).
Fay (2005-01-14 11:29:00) [33]>> win2000 - корпоративный стандарт
Тогда Jet
Zoa (2005-01-14 11:22:00) [34]>>А теперь предположим что вы ставите вашу программу ....
win2000 - корпоративный стандарт. Манией величия (написать программу всех времен и народов) - не страдаю.
Fay (2005-01-14 11:19:00) [35]СreateFile()
Zoa (2005-01-14 11:17:00) [36]>>2 Zoa © (14.01.05 11:09) [10]
>>Разделите локальное сохранение и сохранение в базу. Типа по ...
Спасибо, до этого я и сам догадался. Но какая простая БД есть в моем распоряжении на лок. компе? Это я и спрашиваю!
ЮЮ (2005-01-14 11:17:00) [37]>Данные пишутся регулярно (например, с прибора)
Не сами же они пишутся. И не в TTable, надеюсь.
try
<записать в БД>
exсept
<записать в локальный файл>
end
+ найти место и время для передачи на сервер записанных ранее на локальном компе данных
Fay (2005-01-14 11:15:00) [38]2 vlad_ri (14.01.05 11:13) [12]
Это не страшно : можно написать промежуточный сервер с требованиями попроще - часто это не задруднительно.
Fay (2005-01-14 11:13:00) [39]>> При обрыве надолго такая нагрузка на вирт. память....
А писать надо не в виртуальную, а во внешнюю память (типа на винт).
vlad_ri (2005-01-14 11:13:00) [40]А теперь предположим что вы ставите вашу программу на динозавра с Win95 или Win98 там ADO и в помине нету, придётся вам до устанавливать mdac...