Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как изменить пароль в файлах *.mdb через ADO?

15K
18 апреля 2006 года
Тамирлан
8 / / 18.04.2006
С помощью Microsoft Access создана БД.
Необходимо программным путём изменить пароль! (использую ADO)

Советовали использовать запрос:
 
Код:
ALTER USER username PASSWORD NewPassword OldPassword

Но почему-то он выдает ошибку:
[Microsoft][Драйвер ODBC Microsoft Access]Ошибка синтаксиса в инструкции ALTER TABLE.

Возможно кто-то знает иной способ смены пароля.

Благодарен буду любой инфе (ссылки, предложения, каким-то идеям или сооброжениям по данному вопросу)!



Подробнее что уже пробовал:
На форме находится ADOConnection1 и ADOQuery1 (они связанны).
 
Код:
ADOQuery1->SQL прописывал следующий:
ALTER USER "admin" PASSWORD "" "777"
ALTER USER ""      PASSWORD "" "777"

(1.пароли new и и old - местами менял!
2.вместо " ставил ' - ошибка та же)

Строка подключения получилась следующей (Если каму-то она что-то скажет. Естественно это всё без <Enter>-ов):
Код:
Provider=MSDASQL.1;
  Persist Security Info=False;
  Extended Properties="DBQ=D:\БД 777\БД (ACCESS)\111.mdb;
  DefaultDir=D:\БД 777\БД (ACCESS);
  Driver={Microsoft Access Driver (*.mdb)};
  DriverId=25;
  FIL=MS Access;
  FILEDSN=D:\БД 777\Источники ODBC\IstODBCAccess.dsn;
  MaxBufferSize=2048;
  MaxScanRows=8;
  PageTimeout=5;
  SafeTransactions=0;
  Threads=3;
  UID=admin;
  UserCommitSync=Yes;
  ";
  Initial Catalog=D:\БД 777\БД (ACCESS)\111;


[COLOR=red]+ - свои сообщения лучше размещать в удобночитаемом виде, используя форматирование[/COLOR]
1
19 апреля 2006 года
kot_
7.3K / / 20.01.2000
По моему, для этого тебе необходимо использовать один из двух вариантов - работать с Акцессом как с СОМ-сервером, и обращаться его методам или (что примерно одно и тоже) использовать компоненты с закладки Office. Вряд ли в приложении реализован механизм смены пароля через запрос. По крайней мере вопросы об этом задаются уже лет 5, а ответов пока нет :) И одна из причин - слишком много ограничений - поэтому микрософт рекомендует организовывать защиту на уровне приложения а не базы.
15K
21 апреля 2006 года
Тамирлан
8 / / 18.04.2006
Интересный подход к вопросу.
Есть над чем поработать.
(Приятно когда кто-то может поддержать разровор. Обычно на мои вопросы никто не может ответить :) )


А, по поводу:
"... а ответов пока нет"
Глянь сюда (вроде что-то предложили, пока конечно не разобрался, но кажется что-то дельное):
http://forum.vingrad.ru/index.php?showtopic=63015
1
21 апреля 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by Тамирлан
Интересный подход к вопросу.
Есть над чем поработать.
(Приятно когда кто-то может поддержать разровор. Обычно на мои вопросы никто не может ответить :) )


А, по поводу:
"... а ответов пока нет"
Глянь сюда (вроде что-то предложили, пока конечно не разобрался, но кажется что-то дельное):
http://forum.vingrad.ru/index.php?showtopic=63015


ну так это и есть СОМ-объект - в данном случае драйвера - и вызов его метода.
У TADOConnection есть свойство ConnectionObject - можно попытаться получить указатель на интерфейс через него. Примеры которые привели тебе - это VC++.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог