Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.06.28;
Скачать: CL | DM;

Вниз

Доступ к защищенной БД с помощью компонентов ADO   Найти похожие ветки 

 
wardoc   (2008-10-04 05:46) [0]

Доброго времени суток, уважаемые.

Помогите решить проблемку. Создал БД в акцесе и защитил на уровне пользователей (мастером). Соответственно для БД был создан файл рабочей группы с несколькими учетными записями юзеров.

Пытаюсь организовать для БД доступ из Delphi-приложения. По моему замыслу программа при коннекте с БД должна запрашивать у пользователя логин/пароль.

Создал системный DSN. В проекте кладу на форму ADO Connection и создаю соединение с DSN. За ADO Connection цепляю ADO Table, в свойстве TableName выбираю имя таблицы в БД. В этот момент ADO Connection соединяется БД. Успешно причем. Затем цепляю за ADO Table компонент-источник Data Source, а за него - DB Grid.

При попытке открыть ADO Table, драйвер ODBC говорит, что нет прав на чтение записей.

Как это лечить, подскажите, пожалуйста.


 
YurikGL ©   (2008-10-04 09:11) [1]

А зачем DSN? Вроде всю жизнь выбирали в качестве поставщика данных Microsoft Jet OLE DB Provider и цеплялись к mdb-ку напрямую.


 
wardoc   (2008-10-04 13:37) [2]

Сделал соединение напрямую к MDB файлу посредством провайдера Microsoft Jet OLE DB Provider. Та же ерунда.


 
sniknik ©   (2008-10-04 14:50) [3]

а пароль на базу в сделанном соединении есть?

> должна запрашивать у пользователя логин/пароль.
LoginPrompt true у коннеккта и все будет запрашиваться "автоматом", только это логин/пароль на юзера. а они у тебя есть? не в смысле людей, а в смысле учётные записи в системной таблице.


 
wardoc   (2008-10-04 15:20) [4]

Учетные записи есть.

Что характерно - после того, как сделал соединение посредством Microsoft Jet OLE DB Provider стала наблюдаться такая картина: если в параметрах соединения оставляю пустыми поля логин/пароль или же в поле логин стоит умолчание ("Admin") с пустым паролем, то при щелчке по кнопке "Проверить соединение", которая находится в окне построения ConnectionString вижу сообщение о том, что соединение успешно.

Если же ввожу логин и пароль учетной записи, имеющейся в файле рабочей группы, то пишет ошибку - мол база данных не существует или открыта другим пользователем в монопольном режиме. Хотя ни одно другое приложение в этот момент не испоьзует БД! Я совсем акцес закрывал в этот момент!


 
sniknik ©   (2008-10-04 16:46) [5]

> Учетные записи есть.
где? jet про это место знает? ты ему указал, они там записаны так как ему нужно?

> Что характерно - после того, как сделал ... и т.д.
описана нормальная работа, и попытка ввести невалидный логин/пароль. не может прочитать права для этого юзера, а после пытается с несуществующими правами открыть коннект, в результате в доступе отказано, отсюда "монопольный" режим.


 
wardoc   (2008-10-04 17:09) [6]

Я в принципе так и полагал. Только не знаю как драйверу указать на файл рабочей группы. Может подскажете где про это почитать?


 
sniknik ©   (2008-10-04 18:23) [7]

> Только не знаю как драйверу указать на файл рабочей группы.
какой рабочей группы? что это по твоему вообще такое, почему ты решил указывать именно его? ты о чем вообще?
у аксесса есть системная база, в ней и задаются юзеры, ее надо указывать а не какой то мифический файл групп.

> Может подскажете где про это почитать?
в хелпе jet, можно аксесса, естественно.


 
wardoc   (2008-10-04 19:01) [8]

Хелп акцеса я читал. Цитирую:

"Файл рабочей группы. Файл, который Microsoft Access читает при запуске, содержащий сведения о пользователях, входящих в рабочую группу. Эти сведения включают имена учетных записей пользователей, их пароли и имена групп, в которые входят пользователи.), в котором каждый пользователь идентифицируется уникальным кодом. Уровень доступа и объекты, доступ к которым получает пользователь, зависят от кода и пароля."

Это к вопросу о "мифическом" файле. Где найти хелп jet?

P.S. Позволю себе немного офтопа. Я понимаю, что Вас раздражает необходимость отвечать на нубские вопросы, однако разве это в конце концов не задача этого форума?


 
Anatoly Podgoretsky ©   (2008-10-04 19:25) [9]

> wardoc  (04.10.2008 19:01:08)  [8]

Нет, это не задача форума.


 
wardoc   (2008-10-04 19:41) [10]

Очень жаль. Очевидно, что я зря задавал здесь свой вопрос.


 
sniknik ©   (2008-10-04 20:07) [11]

> Цитирую:
> "Файл рабочей группы. ...
это, что называется "удачный"  перевод... назвать файл "System" рабочей группой, надо же.
ну так, ещё раз, раз уж выяснили что это то самое, ты его указал в подключении? и пользователи в нем есть, и они для твоей базы?

> Я понимаю, что Вас раздражает необходимость
нет, меня раздражает не необходимость, это работа необходимость, а тут нет, меня раздражает когда говорят на "псевдосленге", "местечковом сленге", используют "умные" слова, и другие способы внесения недопонимания.
когда вроде бы и спрашивают, а чего хотят не понятно... все у него зашибись, все есть, все указано, а не работает.
неужели нельзя попонятнее, не высоким "штилем", а просто пальцем ткнуть, типа "да я создал файл в аксессе, с именем ..., положил, подключил... туда и так" и т.д.
нет вместо этого
> Учетные записи есть.
и понимай как хочешь... умно, красиво, но нифига не информативно. как будто это не вам надо. не вы а я тут вопросы задаю...

> я зря задавал здесь свой вопрос.
это верно, но с другой стороны, партизаны нигде не приветствуются. если только в платной службе поддержки, с повременной оплатой... чем дольше тем лучше.


 
wardoc   (2008-10-04 20:21) [12]

Не хотел разводить флейм, но раз уж дошло до подобного наезда, то должен сказать:

1. Я работал в службе поддержки. 2 года. Насчет "партизанов" вы безусловно правы, но людям, которые задавали мне вопросы я не отвечал так как вы.

2. По поводу сленга. Извините, какие термины прочел, теми и пользуюсь, других не знаю.

3. По существу. Нет я не указывал файл System в подключении, ибо если бы знал как это делать то зачем мне ваши ответы?


 
sniknik ©   (2008-10-04 21:56) [13]

> Не хотел разводить флейм
не разводи! пусть останется густым... :)

> но людям, которые задавали мне вопросы я не отвечал так как вы.
ну так тебе за ответы наверное деньги платили? т.к. служба поддержки.
а здесь не служба поддержки, здесь общение, на равных, ради интереса. если не интересен, общение прекращается.

> 3. По существу. Нет я не указывал файл System в подключении
это не по существу, это очередная отмазка. из 5-6 доп вопросов ответ только на один...
я же ещё спрашивал, он у тебя вообще есть, как делал, там есть пользователи, и т.д. ПОЛНУЮ картину в общем. а то ты может его в блокноте состряпал, несмотря на то что хелп из акцесса как его делать привел. не ту часть, но близко.

> ибо если бы знал как это делать
а как ты делал строку подключения? мастером, там же, ещё это в параметрах прописать, и все (с прописыванием, но не все с остальным).

> то зачем мне ваши ответы?
оно и видно, незачем.



Страницы: 1 вся ветка

Текущий архив: 2009.06.28;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.016 c
2-1241970247
M5
2009-05-10 19:44
2009.06.28
Декомпиляция exe


2-1241619801
madmech
2009-05-06 18:23
2009.06.28
Не печатается заголовок итогового столбца отчета


2-1241858175
lewka
2009-05-09 12:36
2009.06.28
Московское время


2-1241544934
DmitriyR
2009-05-05 21:35
2009.06.28
Перевести String в LongWord


2-1241679348
worldmen
2009-05-07 10:55
2009.06.28
Создать большое меню