![]() |
Datenbank: Access • Zugriff über: ADO
Passwortgeschützte Access Datenbank erzeugen
Hallo zusammen,
ich benutze bisher folgenden Code, um eine Access-Datenbank anzulegen.
Delphi-Quellcode:
Dies funktioniert auch gut.
const
C_CONNECTION_STRING = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s'; .... //Datenbank erzeugen if not SameText(LPath, '') then begin try LCatalog := CreateOleObject('ADOX.Catalog'); LConnectionString := Format(C_CONNECTION_STRING, [LPath]); LCatalog.Create(LConnectionString); LCatalog := Unassigned; result := FileExists(LPath); except on e: Exception do begin MessageDlg(LoadResString(@SCannotCreateDatabase), mtError, [mbOK], 0); Result := false; Exit; end; end; end; .... Jetzt wollte ich die erzeugte Datenbank mit einem Passwort versehen, damit man diese Datenbank nicht in Access öffnen kann. Wenn ich den Connectionstring folgendermassen ändere
Delphi-Quellcode:
bekomme ich dei Fehlermeldung
const
C_CONNECTION_STRING = 'Provider=Microsoft.Jet.OLEDB.4.0;' + 'Jet OLEDB:Database Password="%s";' + 'Data Source=%s;' + 'Persist Security Info=True'; C_PASSWORD = '1234567890' ... LCatalog := CreateOleObject('ADOX.Catalog'); LConnectionString := Format(C_CONNECTION_STRING, [C_PASSWORD, LPath]); LCatalog.Create(LConnectionString); ... "Fehler bei einem aus mehreren Schritten bestehenden OLE DB-Vorgang. Prüfen Sie die einzelnen OLE DB-Statuswerte, falls vorhanden. Daten wurden nicht verarbeitet" Was mach ich falsch? Der Connectionstring sieht eigentlich richtig aus. Hängt es vielleicht damit zusammen, das ich die Datenbank über ein COM-Objekt erzeugen lasse? |
Re: Passwortgeschützte Access Datenbank erzeugen
Der Code ist völlig ok.
Mein Passwort war zu sicher -.- Ich hatte nicht wie hier im Beispiel ein einfaches Passwort, sondern ein sehr kryptisches und langes Passwort. Mit einem "einfacherem" Passwort funktioniert das Ganze.
Delphi-Quellcode:
const
C_CONNECTION_STRING = 'Provider=Microsoft.Jet.OLEDB.4.0;' + 'Jet OLEDB:Database Password="%s";' + 'Data Source=%s' //+ //'Persist Security Info=True'; C_PASSWORD = '1234567890' ... LCatalog := CreateOleObject('ADOX.Catalog'); LConnectionString := Format(C_CONNECTION_STRING, [C_PASSWORD, LPath]); LCatalog.Create(LConnectionString); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz