Главная страница
    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.04 c
4-1136969518
menart
2006-01-11 11:51
2006.04.02
оброботка сообщение при записи диска


15-1141896338
Зм1й
2006-03-09 12:25
2006.04.02
Проблемы с локалкой


15-1141848603
Nic
2006-03-08 23:10
2006.04.02
Машина студента developer a


15-1141874085
antonn
2006-03-09 06:14
2006.04.02
Горячие клавиши


1-1141243953
g-l-u-k
2006-03-01 23:12
2006.04.02
Криптование процедуры в Delphi





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