Проблема с разрешениями Embedded Firebird под учетной записью локальной системы

Я создаю приложение NTService, которое использует базу данных Embedded Firebird. Когда я настраиваю запуск службы под учетной записью администратора, она работает нормально. Но когда я запускаю службу в качестве учетной записи локальной системы по умолчанию, я получаю сообщение об ошибке ниже.

нет разрешения на чтение/выбор доступа к TABLE XXXX

Почему это ? Я считаю, что в одном файле sql Firebird нет системных таблиц или т. Д. И Windows XP не имеет Linux-подобных прав доступа к файлам. Пожалуйста помоги.

С Уважением

J


person topmop75    schedule 15.09.2011    source источник


Ответы (1)


Хотя встроенная версия не аутентифицирует пользователей (не сверяет имя пользователя и пароль с security2.fdb), она по-прежнему проверяет привилегии SQL пользователя. Это означает, что вам по-прежнему необходимо предоставить надлежащие права пользователя для имени пользователя и/или роли, которую вы используете при доступе к базе данных. Вероятно, это работало для учетной записи администратора, потому что в версии 2.1 члены административных групп Windows по умолчанию были сопоставлены с SYSDBA (и, таким образом, имели все права на все базы данных). Это изменилось в версии 2.5, теперь вам нужно настроить это вручную (см. примечания к выпуску).

person ain    schedule 15.09.2011
comment
Большое спасибо, это действительно помогло. Я подключался к базе данных без имени пользователя. Когда я указал подключение как пользователь sysdba, теперь он работает нормально под учетной записью локальной системы. Спасибо еще раз - person topmop75; 15.09.2011