Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.02.2014, 23:46
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию Знания, опыт на шару

Уважаемые,

имеется программа , работающая с БД 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  
Старый 18.02.2014, 00:04
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Оффтоп:
Для начала смените свою подпись, не позорьте коллектив - ссыль уберите, нарушение ПФ пункт 2.6

А идея с управляющим временным файлом в корне, это отличная лазейка для всяких разных вредоносных "полезняшек" однако...
Ответить с цитированием
  #3  
Старый 18.02.2014, 00:21
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию

На создание файлов в данной директории имеют права только 3 человека, поэтому не могу сказать, что это будет проблема.
Ответить с цитированием
  #4  
Старый 18.02.2014, 00:25
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Тогда это в корне меняет ситуацию - а как происходит "неккоректное завершение программы" у клиента, может здесь корень? Хотя бы в общих чертах, пжлст
Ответить с цитированием
  #5  
Старый 18.02.2014, 00:37
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию

Не могу сказать потому как отследить нет возможности. Процесс остается висеть и мешает всему процессу обновления.
Ответить с цитированием
  #6  
Старый 18.02.2014, 00:44
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Ведь вроде если получится правильно убивать приложения пользователей,первая проблема исчезнет, правильно? Я так понимаю логику - прога у пользователя следит за корнем СД, и если там есть маячок "upd" то она себя грохает. Проблем быть не должно в этом месте, странно
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:58.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter