Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ADO, Access и защищённая БД
|
|||
|---|---|---|---|
|
#18+
Сделал БД в Access 2000, написал приложение на Delphi 6 с использованием ADO. Всё просто супер. Осталось только базочку закрыть... Вот тут-то и возникла проблема. Если закрыть базу паролем с помощью монопольного доступа, то при вводе этого пароля для логина '' и 'Admin' в LoginPromt вываливается ошибка "Неверный пароль". На Мастерах Делфи посоветовали указать в строке подключения 'System database=<имя системной базы.mdw>'. Как выяснилось, путь к этой системной базе лежит в реестре в 'HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Access\Jet\4.0\Engines' в параметре 'SystemDB'. Но когда я в TADOConnection к ConnectionString добавляю '; System database=<имя системной базы.mdw>', LoginPromt опять ругается, правда уже по-другому: "Невозможно найти устанавливаемый ISAM." В чём дело? Как решить эту проблему? Базочку желательно всё-таки закрыть, а не получается... Подскажите, кто знает, плз! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2003, 19:41 |
|
||
|
ADO, Access и защищённая БД
|
|||
|---|---|---|---|
|
#18+
В мастере подключения на последней закладке "Все", в строке "Jet OLEDB:Database Password" укажи свой пароль и все тип-топ ;)) правда этот пароль модно поломать, лучше использовать рабочие группы :)). Miktor ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2003, 03:56 |
|
||
|
ADO, Access и защищённая БД
|
|||
|---|---|---|---|
|
#18+
Какой нафиг тип-топ. )) Мне надо узера спросить пароль... А подключаюсь я с помощью .udl файла. Придётся на OnWillConnect ловить строку соединения и там прописывать запрошенный пароль... Всё равно спасибо! )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 00:27 |
|
||
|
ADO, Access и защищённая БД
|
|||
|---|---|---|---|
|
#18+
Хотя нет... На OnWillConnect и BeforeConnect в ConnectionString всё ещё ссылка на файл. На OnLogin я уже описывал что происходит. И ConnectionString там такая же. Единственное, что приходит в голову, так это спрашивать пользователя, писать в файл .udl пароль, коннектиться, а потом пароль затирать. Но как-то это всё... Может кто что по-лучше посоветует? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 00:37 |
|
||
|
ADO, Access и защищённая БД
|
|||
|---|---|---|---|
|
#18+
Понятно. UDL - этопросто тот же текстовый файл со строкой соединения. Просто заведи файл настройки, где будешь хранить имя MDB файла и пр. настройки (если они нужны), а строку составляй динамически, после запроса пользователем пароля. Что-то типа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. потом: Код: plaintext 1. 2. 3. 4. Miktor ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 01:49 |
|
||
|
ADO, Access и защищённая БД
|
|||
|---|---|---|---|
|
#18+
Спасибо. Я до этого уже сам дошёл... Только теперь получаю ошибку "Ошибочный пароль". Для верности заменил свою строку твоей (хотя они вроде почти совпадали). Не помогает. Всё равно ошибочный пароль... Что делать-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 23:11 |
|
||
|
ADO, Access и защищённая БД
|
|||
|---|---|---|---|
|
#18+
Может в кодировках приколы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2003, 09:10 |
|
||
|
ADO, Access и защищённая БД
|
|||
|---|---|---|---|
|
#18+
есть еще вариант создаешь одного юзера с одним паролем, прописываешь его в коде потом в базе создаешь табличку в которую заносишь имя юзерей и их пароли получается что с базой прога работает только с одним логином и паролем. после подключения делаешь запрос к таблице с юзерами, если такого пользователя в ней нету или пароль не верный, то обрубаешь коннект и выходишь из программы. для того, что бы никто не мог быстро прочитать пароли в табличке их можно закриптовать. при этом ты получаешь возможность быстро добавить, удалить, отредактировать нужного юзера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2003, 09:22 |
|
||
|
ADO, Access и защищённая БД
|
|||
|---|---|---|---|
|
#18+
Защищенная паролями всякими база на Access 2000 легко открывается с пустыми юзверем и паролем (на другом компе, с чистой system.mdw). Вот, пожалуйста, коннект к защищенной базе: Provider=Microsoft.Jet.OLEDB.4.0; User ID=Admin; Data Source=<удалено мной>; Mode=Share Deny None; Extended Properties=""; Jet OLEDB:System database=""; Jet OLEDB:Registry Path=""; Jet OLEDB:Database Password=""; Jet OLEDB:Engine Type=5; 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 eNose ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2003, 09:30 |
|
||
|
ADO, Access и защищённая БД
|
|||
|---|---|---|---|
|
#18+
Это не просто так я написал, а мне прислали защищенный .mdb , чтоб я сделал конвертатор в его формат и данные туда пихал. То, что он якобы защищенный - работает только из-под акцесса. eNose ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2003, 09:32 |
|
||
|
ADO, Access и защищённая БД
|
|||
|---|---|---|---|
|
#18+
To eNose Вы путаете. Есть защита юзверем и пассом, а есть просто защита бд пассом. Эти две вещи не исключающие друг друга, если пользовательская снимается подсовыванием мдв-шки другой или пустой, то пасс на бд этим не снимается имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2003, 09:48 |
|
||
|
ADO, Access и защищённая БД
|
|||
|---|---|---|---|
|
#18+
Мыльните мне кто-нить защищенную базу - для проверки. ivanoff dot kti dot ru eNose ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2003, 09:51 |
|
||
|
ADO, Access и защищённая БД
|
|||
|---|---|---|---|
|
#18+
База сделана с другой мдв, без юзверя админ, криптована средствами аксеса и защищена пассом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2003, 10:22 |
|
||
|
ADO, Access и защищённая БД
|
|||
|---|---|---|---|
|
#18+
не выходит каменный цветок. Однако так не честно. Я ведь не знаю ни одного юзверя!!! А ведь в реальном приложении хотя бы один да будет известен. eNose ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2003, 11:07 |
|
||
|
ADO, Access и защищённая БД
|
|||
|---|---|---|---|
|
#18+
1. не факт что будет они могут не иметь доступ напрямую в БД... юзверь зашит в код и закриптован там как-нить. 2. даже есть в мдв создать юзверя, то пасса на бд не узнать 3. при создании юзверя там тоже код вводится, так что юзвери с одинаковыми именами не будут одинаковыми с точкии зрения jet а юзверь SunCalls ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2003, 11:24 |
|
||
|
ADO, Access и защищённая БД
|
|||
|---|---|---|---|
|
#18+
Народ! Ну это всё, конечно, интересно. Правда, описано в родном аксессовском хелпе... А с паролем-то что делать? Я хочу именно безузерный пароль, чтобы фокус с перетаскиванием не работал! Мне база-то для рассылки нужна! Никто ничего не посоветует ещё? А с кодировками что? Как проверить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2003, 10:41 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32319435&tid=2115880]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 363ms |

| 0 / 0 |
