|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Знания, опыт на шару
Уважаемые,
имеется программа , работающая с БД MS Access 2003. Все дело лежит на сетевом диске, откуда пользователи собственно и "кушают". Для того, чтобы обновить программу приходилось убивать процессы у всех пользователей от админа на уровне домена (чьими правами обладает лишь ведущий сис.адм.), и ручками заменять файлы на сетевом диске. Далее реализовал следующее: Если в корне папки с программой создавался файл "upd", то программа закрывалась, а следом запускала рядом лежащий updater.exe (тупоформа с постоянно крутящемся прогрессбаром), который не давал пользователям запустить основную программу, пока существует сие файл "upd". Однако не всегда такая реализация срабатывает, скорее всего от неккоректного завершения программы. Что создавало проблему - при замены файлов ручками выдавало сообщение "Невозможно скопировать..используется другим пользователем". Второй момент скорей относится к разумному использованию SQL. В одной из функций программы требуется выдать записи, в которых хотя бы одно значение из полей содержит в себе подстроку S. Делаю так: Код:
q := TAdoQuery.Create(nil); ... SQL.Text :='SELECT * FROM [%TABLENAME%] WHERE [FIELD1] LIKE :param1 ... ... [FIELD N] LIKE :paramN'; q.parameters.parambyname('param1').value := S; .. q.parameters.parambyname('paramN').value := S; Есть ли более гуманный способ? (Использование одного параметра в запросе выдавало некорректный ответ, пришлось использовать свой параметр для каждого поля) Что Вы посоветуете мне в моей ситуации? Рассмотрю любые предложения. |
#2
|
||||
|
||||
Оффтоп:
Для начала смените свою подпись, не позорьте коллектив - ссыль уберите, нарушение ПФ пункт 2.6 А идея с управляющим временным файлом в корне, это отличная лазейка для всяких разных вредоносных "полезняшек" однако... Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
|||
|
|||
На создание файлов в данной директории имеют права только 3 человека, поэтому не могу сказать, что это будет проблема.
|
#4
|
||||
|
||||
Тогда это в корне меняет ситуацию - а как происходит "неккоректное завершение программы" у клиента, может здесь корень? Хотя бы в общих чертах, пжлст
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#5
|
|||
|
|||
Не могу сказать потому как отследить нет возможности. Процесс остается висеть и мешает всему процессу обновления.
|
#6
|
||||
|
||||
Ведь вроде если получится правильно убивать приложения пользователей,первая проблема исчезнет, правильно? Я так понимаю логику - прога у пользователя следит за корнем СД, и если там есть маячок "upd" то она себя грохает. Проблем быть не должно в этом месте, странно
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |