Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Access, ADO и проблемы доступа к базе [D7]


SHTrassEr ©   (2007-08-14 19:21:00) 

Доброго времени суток.
Друзья, помогите, пожалуйста, помочь разрешить проблему, с которой я имел неосторожность столкнуться)).

Каким образом можно получить доступ к БД Access, если у ней стоит право доступа "только чтение"?

Дело в том, что сама база находится на сервере. Из соображений безопастности (и не только) стоит запрет на изменение файлов по сети.

Когда пытаюсь использовать компонент ADOConnection, указывая в ConnectionString следущее :
'Provider=Microsoft.Jet.OLEDB.4.0;'+
   'Data Source='+IntBasePath+';Mode=Read;Persist Security Info=False';

мне вылетает ошибка 'Блокировка файлов невозможна'. Хотя базу я открываю только для чтения (Mode=read).

Если установить полный доступ, то все работает. Однако делать это не желательно. Как это можно обойти?

Заранее спасибо.


SHTrassEr   (2007-08-15 08:14:00) [1]

sniknik, спасибо, заработало.


sniknik   (2007-08-14 20:14:00) [2]

> Вам же сказано было - это особенность Access как ЛОКАЛЬНОЙ СУБД
имхо, ты не "врубился" в тему. решение вопроса, как он задан, показано в [4].


MsGuns   (2007-08-14 19:59:00) [3]

>SHTrassEr ©   (14.08.07 19:40) [3]
>Может есть какие-то другие пути

Трехзвенка

>не через ADOConnection?

Компонент TADOComnnectionздесь вовсе не при чем - Вам же сказано было - это особенность Access как ЛОКАЛЬНОЙ СУБД


sniknik   (2007-08-14 19:51:00) [4]

> Может есть какие-то другие пути, не через ADOConnection?
не могу научится ездить на велосипеде! есть у когонибудь мотоцикл? чувствую на нем получится...


sniknik   (2007-08-14 19:48:00) [5]

'Provider=Microsoft.Jet.OLEDB.4.0;'+
  'Data Source='+IntBasePath+';Mode=Share Deny Write;Persist Security Info=False';


SHTrassEr   (2007-08-14 19:40:00) [6]

можно, конечно, базу перекачивать на комп, и затем делать выборку. Но это будет как-то некрасиво)). К тому же база весит около 50 мб, и часто обновляется.

Может есть какие-то другие пути, не через ADOConnection?


> Решение в переходе на MS SQL Server

к сожалению, это в ближейщее время невозможно и в любом случае зависит не от меня)).


MsGuns   (2007-08-14 19:35:00) [7]

>Как это можно обойти?

Никак. Это особенность акцесса. Одновременно редактировать таблицу более, чем в одном соединении нельзя.
Решение в переходе на MS SQL Server


Ega23   (2007-08-14 19:26:00) [8]

Я конечно не спец по Access, но сильно подозреваю, что при установлении коннекта какая-то инфа о созданном коннекте должна в базу прописаться.


Наверх

Титульная страница Поиск, карта сайта Написать письмо