![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Уже начинаю тохонько звереть от непонимания причины. Когда программа запущена вручную, то работает нормально, но когда запускается через реестр перестаёт писать в базу, сваливается на выполнении SQL запроса. Чтение старых данных происходит нормально. Такое ощущение, что база становится ReadOnly.
Код:
if Assigned(sldb) then
begin
sldb.BeginTransaction;
try
St := AnsiString(Format('INSERT INTO maplog(date, ...'))); // обрезано для краткости
// Не выполняется при запуске из реестра
sldb.ExecSQL(St);
sldb.Commit;
except
sldb.Rollback;
end;
end; |
|
#2
|
||||
|
||||
|
От имени какого пользователя запускается из реестра? Права на запись в файл у него есть?
|
|
#3
|
||||
|
||||
|
Пользователь один, права есть.
|
|
#4
|
||||
|
||||
|
Пользователь точно тот же самый, а не NetworkService какой-нибудь? Каков конкретно текст ошибки?
|
|
#5
|
||||
|
||||
|
Пользователь один. SQLite ошибок не даёт - гад, тупо не работает. Логирование каждой строки показало, что не отрабатывает ExecSql, да и только по автозапуску. При ручном запуске всё в норме.
|
|
#6
|
||||
|
||||
|
Цитата:
Обработчик Application.OnException пустой? |