Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / FileSharing при BulkCopy в DB-Lib / 4 сообщений из 4, страница 1 из 1
13.12.2006, 13:42
    #34196469
olden69
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FileSharing при BulkCopy в DB-Lib
есть две программы
первая делает BulkCopy из базы в файл data.dat посредством DB-Lib
вторая периодически проверяет наличие этого файла на диске и если находит, то считывает из него данные и затем файл удаляет

Вопрос. Каким образом сделать во второй программе проверку можно ли начинать читать файл? Ведь он может быть все еще открыт первой программой, а информацию о том, какой именно FileSharing для data.dat выставляет DB-Lib при BulkCopy, я пока никак не могу найти.
...
Рейтинг: 0 / 0
14.12.2006, 16:58
    #34200792
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FileSharing при BulkCopy в DB-Lib
Используй внешние средства синхронизации - эвенты.
...
Рейтинг: 0 / 0
14.12.2006, 18:00
    #34201033
olden69
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FileSharing при BulkCopy в DB-Lib
да, в принципе можно и мьютексами
но поскольку программы могут находиться на разных ПК, то пришлось остановиться на примитивном способе - блокирующие файлы-пустышки. В некоторых юниксовых почтовиках такое практикуется.
Т.е. перед началом записи в файл данных первая программа создает лок-файл нулевой длины, а по окончании записи удаляет его.. Вторая проверяет наличие файла данных и если находит то проверяет еще и наличие лок-файла. Если лок-файл отсутствует, то чтение разрешено.
Примитивно, но работает.
...
Рейтинг: 0 / 0
16.12.2006, 19:51
    #34205162
frantic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FileSharing при BulkCopy в DB-Lib
Если коннектишься со второй проги к SQL Server то можно так:
1. Первая прога создает глобальную временную процедуру и в ней ApplicationLock на сервере.
2. Вторая вызывает эту процедуру.
Пока первая прога свой ApplicationLock не снимет, вторая к следующему оператору не переместится. Тоже вроде мьютекса, только до фени где вторая прога крутится.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / FileSharing при BulkCopy в DB-Lib / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]