Форум: "Базы";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];
Внизкак поставить пароль на MDB в рантайме Найти похожие ветки
← →
Лесник (2003-03-28 20:45) [0]Помогите с такой проблемой. В рантайме создается база данных аксеса, и после ее создания необходимо поставить на нее пароль тоже в рантайме. Пример создания базы:
procedure TfrmNewDatabase.FlatButton1Click(Sender: TObject);
var DataSource,dbName:string;
db: Database;
begin
dbName:="D;\Samples\samle.mdb";
DataSource:="Provider=Microsoft.Jet.OLEDB.4.0" +";Data Source=" + dbName +";Jet OLEDB:Engine Type=5";
MSADOCatalog1.Create1(DataSource);
MSADOCatalog1.Disconnect;
MSADOCatalog1.Free;
//db.Close;
ADOCommand.ConnectionString:="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+dbName+";Mode=ReadWrite;Persist Security Info=False";
ADOCommand.CommandText:="ALTER DATABASE PASSWORD "новыйпароль" """;
ADOCommand.Execute;
end;
Если db.Close; закоментировано получаю сообщение что пытаюсь подключится к БД которая УЖЕ эксклюзивно открыта, а если раскоментировать db.Close; то получаю ошибку нарушения доступа и указатель становится на строку db.Close;
Как же всетаки запаролить БД, или для аксеса другая команда закрыть БД не db.Close;
Спасибо.
← →
sniknik (2003-03-28 22:52) [1]почему не добавиш строчку чтобы база создавалась с паролем?
...
DataSource:= "Provider=Microsoft.Jet.OLEDB.4.0" +";Data Source=" + dbName +";Jet OLEDB:Engine Type=5; Jet OLEDB:Database Password=111;";
MSADOCatalog1.Create1(DataSource);
...
пароль тут 111, если не догадался :о)))
(ALTER ... для изменения существующего, кстати кавычки "" лишние)
и еще эксклюзивно открыта база у которой в строке есть Mode=Share Deny Read|Share Deny Write;
← →
Лесник (2003-03-28 23:07) [2]Нд-а значит пора отдохнуть, переработался.
Спасибо за помощь.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c