
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.86] |
![]() |
|
![]() |
|
|
Всем добрый день.
У меня проблемка с авторизацией Access 2007. Решил обновиться до 2007 версии базы, дабы нужно шифрование и более стойки пароль к взлому. Пароль внес через Access через "Работа с базами данных\Зашифровать данные", пароль внес естественно сложный и 20 значный. Скопировал в блокнот что бы не забыть (его и запомнить не реально то). Пробовал до установки пароля подключиться через Provider=Microsoft.ACE.OLEDB.12.0 средствами ADO. Все OK, подключение есть, запросы выполняются. После установки пароля выходит вот такая ошибка: ![]() База в этот момент закрыта, т.е даже сам Access закрыт. Если настрокить тоже самое, но через ODBC что все OK, пароль проходит и данные через ADO грузятся (естественно там уже указываю провайдер ODBC). Почему не получается авторизоваться без ODBC ? |
![]() |
Сообщ.
#2
,
|
|
А системную базу указали?Как получить доступ к системным таблицам
|
Сообщ.
#3
,
|
|
|
НАШЕЛ ОТВЕТ !!!!!!!!!
![]() Вот тут обсуждали такую же тему (ну не нашел я её раньше): Соседний форум Цитат с решение: ![]() ![]() Предположим, что база данных "ShifrBD.mdb" у вас зашифрована паролем "Ich_bin_pryacgu_bd_Chtobi_nikto_ne_Smotrel". Теперь программирование: (или простая установка настроек): Кидаете на форму компонент ADOConnection1 щелкаете по нему два раза, откроется окно ConnectionString, щелкаете по кнопке Build переходите на окно с настройками, (т.к. у меня MS Office 2007, то я выбираю на вкладке "Поставщик данных" 'Microsoft Office 12 ...', теперь на вкладке "Подключение", в окне поставщик данных я ввожу имя моей защифрованной БД "ShifrBD.mdb" (т.к. она находится вместе с создаваемой мною программой, то ввожу просто имя, но если она находися не в каталоге с моей программой, то я должен тут прописать полный путь к БД). А вот теперь самое интересное и ответ на твой вопрос: Перходим на вкладку "Все", и щелкаем два раза по строчке JetOLEDB DataBase Password, и в открывшемся окне, в поле "Значение свойства" пишем свой пароль, в моем примере это: Ich_bin_pryacgu_bd_Chtobi_nikto_ne_Smotrel Нажимаем окей, на вкладке "Подключение" нажимаем, проверить подключение и все должно работать!!! Добавлено Не пробовал, но я так понял там про Access 2003 говорят, т.к. там используют обращение к файлу рабочей группы, а в 2007 группы вроде как убрали (читал много, каша в голове, но запомнил пока так) и судя по сообщению Дата 10.01.05 т.е в 2005 году ещё не было 2007 Access'a, следовательно не мог автор сообщения писать способ для Access 2007. Все равно спасибо, тоже позновательно. По поводу системной базы: ![]() ![]() Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=basa.accdb;Mode=Share Deny None;Extended Properties=""; Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="пароль"; Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2; Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False; Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False; Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False System database="" не указывается и при такой настройке подключение проходит. |