Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
2-1241718057
Dimko_0
2009-05-07 21:40
2009.06.28
Как выполнить вызов функции из исполняемого файла по ее адресу?


6-1204126047
rar
2008-02-27 18:27
2009.06.28
IdFTP


3-1222945535
aykorolev
2008-10-02 15:05
2009.06.28
Разработка сетевой БД


2-1241604010
Ivan8511
2009-05-06 14:00
2009.06.28
Открытие-закрытие CD привода


2-1241790968
Гена
2009-05-08 17:56
2009.06.28
Нужно выполнить проверку DBGrid a





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский