Форум: "Базы";
Текущий архив: 2009.06.28;
Скачать: [xml.tar.bz2];
ВнизДоступ к защищенной БД с помощью компонентов 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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.006 c