AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Passwortgeschützte Access Datenbank erzeugen
Thema durchsuchen
Ansicht
Themen-Optionen

Passwortgeschützte Access Datenbank erzeugen

Ein Thema von Tyrael Y. · begonnen am 9. Jul 2008 · letzter Beitrag vom 9. Jul 2008
Antwort Antwort
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#1

Passwortgeschützte Access Datenbank erzeugen

  Alt 9. Jul 2008, 09:28
Datenbank: Access • Zugriff über: ADO
Hallo zusammen,

ich benutze bisher folgenden Code, um eine Access-Datenbank anzulegen.

Delphi-Quellcode:
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;
....
Dies funktioniert auch gut.

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:
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);
...
bekomme ich dei Fehlermeldung

"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?
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Passwortgeschützte Access Datenbank erzeugen

  Alt 9. Jul 2008, 13:18
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);
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz