Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Probleme bei Zugriff auf Access-Datenbank mit Kennwort (https://www.delphipraxis.net/28902-probleme-bei-zugriff-auf-access-datenbank-mit-kennwort.html)

G.B.Reed 1. Sep 2004 01:36


Probleme bei Zugriff auf Access-Datenbank mit Kennwort
 
Hallo,

ich hab da ein kleines Problem.

Mit Access2000 habe ich eine kleine Datenbank test.mdb mit der Tabelle Tabelle1 angelegt.
Ohne Kennwortschutz kann ich über das folgende Delphi-Programm (Delphi 5 Enterprise) fehlerfrei auf Tabelle1 zugreifen.

procedure TForm1.Button1Click(Sender: TObject);
var
ADOTable : TADOTable;
strcon : string;
begin
ADOTable := TADOTable.Create( Self );

strcon := Format('Provider=%s; Data Source=%s; User ID=%s; PassWord=%s',
['Microsoft.Jet.OLEDB.4.0',
'.\test.mdb',
'Admin',
'']);

ADOTable.ConnectionString := strcon;
ADOTable.TableName := 'Tabelle1';
ADOTable.Open;
ADOTable.First;
while not ADOTable.EOF do begin
ListBox1.Items.Add( ADOTable.Fields[5].AsString );
ADOTable.Next;
end; // while
ADOTable.Close;
ADOTable.Free;
end;

Setze ich nun über Access in der Datenbank test.mdb zum Beispiel das Kennwort hallo und ändere entsprechend den Verbindungsstring in

strcon := Format('Provider=%s; Data Source=%s; User ID=%s; PassWord=%s',
['Microsoft.Jet.OLEDB.4.0',
'.\test.mdb',
'Admin',
'hallo']);

dann erhalte ich die folgende Fehlermeldung:

Die Anwendung kann nicht gestartet werden.
Die Informationsdatei für die Arbeitsgruppe fehlt oder
ist exklusiv von einem anderen Benutzer geöffnet.

Wo finde ich die Informationsdatei für die Arbeitsgruppe?
Oder muss ich an einer anderen Schraube drehen?

G.B.Reed 1. Sep 2004 01:43

Re: Probleme bei Zugriff auf Access-Datenbank mit Kennwort
 
Sorry,

den Quellcode kann ja keiner lesen.
Hier noch einmal mit dem Code-Tag:

Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  ADOTable : TADOTable;
  strcon : string;
begin
  ADOTable := TADOTable.Create( Self );

  strcon := Format('Provider=%s; Data Source=%s; User ID=%s; PassWord=%s',
                  ['Microsoft.Jet.OLEDB.4.0',
                   '.\test.mdb',
                   'Admin',
                   '']);

  ADOTable.ConnectionString := strcon;
  ADOTable.TableName := 'Tabelle1';
  ADOTable.Open;
  ADOTable.First;
  while not ADOTable.EOF do begin
    ListBox1.Items.Add( ADOTable.Fields[5].AsString );
    ADOTable.Next;
  end; // while
  ADOTable.Close;
  ADOTable.Free;
end;

Erst durch Fehler wird man schlau!

G.B.Reed 1. Sep 2004 02:32

Re: Probleme bei Zugriff auf Access-Datenbank mit Kennwort
 
Wer suchet, der findet.

Bei http://www.delphi-groups.de habe ich die Lösung gefunden.

Der Verbindungsstring muss anders aufgebaut sein:

Code:
  Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Datenbankdatei; Persist Security Info=False; Jet OLEDB:Database Password=XXX
In meinem Programm also:

Code:
  strcon := Format('Provider=%s; Data Source=%s; ' +
                   'Persist Security Info=False; Jet OLEDB:Database PassWord=%s',
                  ['Microsoft.Jet.OLEDB.4.0',
                   '.\test.mdb',
                   'hallo']);

Dank und Gruß an Delphi-Hacker


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:26 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