Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.02;
Скачать: CL | DM;

Вниз

Password on DB MS Access   Найти похожие ветки 

 
kblc ©   (2006-02-07 13:10) [0]

Уважаемые мастера, помогите плз решить проблему. Пытаюсь сменить пароль на файл БД MS Access;
Но это исключение меня уже достало :( . На данный момент пароль стоит пустой, т.е. пароля нет.
исключение:
 при выполнении строки DB:=DAO.OpenDatabase(AFileName,VOptions,VReadOnly,VConnect); попадаю в CheckAutoResult а оттуда уже в SafeCallError(). Там и вызывается raise


var
 LAST_DATABASE_ERROR: string = "";
 //....

function Database_ChgPassword(const ALPassword, ANPassword: string): BOOLEAN;
var
 DAO: _DBEngine;
 DB:   Database;
 ClassID: TGUID;
 VOptions, VReadOnly, VConnect: OLEVariant;
 AFileName, LPassword, NPassword: WideString;
const
 V35 = "DAO.DBEngine.35";
 V36 = "DAO.DBEngine.36";
begin
 Result:=FALSE;
 try
   /////////////////////////////
   try
     try
       ClassID := ProgIDToClassID(v36);
     except
       ClassID := ProgIDToClassID(v35);
     end;
     if ALPassword<="" then LPassword:=#0 else LPassword:=WideString(ALPassword);
     if ANPassword<="" then NPassword:=#0 else NPassword:=WideString(ANPassword);
     AFileName:=WideString("C:\123.mdb");       //файл точно не открыт никакой другой программой
     VOptions:=dbDriverCompleteRequired;        // либо любые другие возможные (в т.ч. TRUE - как указано во многих примерах)
     VReadOnly:=WORDBOOL(FALSE);
     VConnect:=WideString(";Pwd=" + LPassword); //VConnect:="" тоже не помогает
     DAO:=CreateComObject(ClassID) as _DBEngine;
     DB:=DAO.OpenDatabase(AFileName,VOptions,VReadOnly,VConnect); // в этом месте получаю исключение (т.е. при выполнении этой строки). "Ошибочный аргумент"
     with DB do
     begin
       NewPassword(LPassword, NPassword);
       Close;
     end;
     Result:=TRUE;
   except
     on E: Exception do
     begin
       LAST_DATABASE_ERROR:=E.Message;
     end;
   end;
 finally
   DAO:=nil;
   DB:=nil;
   /////////////////////////////
 end;
end;


П.С.
 Может это и не важно, но я использую Delphi 2005


 
sniknik ©   (2006-02-07 13:47) [1]

ALTER DATABASE PASSWORD


 
sniknik ©   (2006-02-07 13:49) [2]

p.s. открыто должно быть экслюзивно(монопольно)


 
kblc ©   (2006-02-07 21:32) [3]

Можно поподробнее:
 Как в строке соединения (ConnectionString [ADOConnection]) указать монопольный доступ?


 
sniknik ©   (2006-02-07 22:22) [4]

там галочка есть... на третьей закладке мастера составляющего строку, так и называется exclusive, ее поставь, остальные сними при той же строке что была.



Страницы: 1 вся ветка

Текущий архив: 2006.04.02;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.054 c
2-1142574309
Мух
2006-03-17 08:45
2006.04.02
Вопрос про копирование БД


15-1141971896
ZeroDivide
2006-03-10 09:24
2006.04.02
Отчисления Open Source проекту


2-1142848749
Ivanov
2006-03-20 12:59
2006.04.02
Работа с клавиатурой.


1-1141138844
RomanH
2006-02-28 18:00
2006.04.02
Изменение индекса в меню


4-1137257101
Volf_555
2006-01-14 19:45
2006.04.02
Как создать прогу, которая помещала бы tray-иконки в себя?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский