Guten Morgen liebe Entwickler,
ich habe folgendes Problem mit D6 und Access2000:
Meine Datenbank ist mit einem Passwort geschützt. Der Anwender muß sich beim ersten Programmstart mit den ADOConnectionstring-Dialogen den DB-Pfad selbst zusammensetzen. Dabei wird der Pfad mit einer Funktion in die Registry geschrieben. Ich muß deshalb dem Anwender das Passwort mitteilen, sonst bekommt er die Verbindung nicht zustande. Dann ist aber der Weg in die Datenbank für jeden frei der das Passwort kennt.
Mit dem folgenden Code schreibe ich den kompletten String in die Registry.
Meine Frage: An welcher Stelle in diesen Code kann ich den Wert für das Passwort setzen?
function TStart.WriteDSNToRegistry(DSN1 : string) : Boolean;
var Registry : TRegistry;
begin
WriteDSNToRegistry := true;
Registry := TRegistry.Create;
Registry.RootKey := HKEY_LOCAL_MACHINE;
if Registry.KeyExists('\Software\Meine Firma\DB.mdb') = false then
try
Registry.CreateKey('\Software\Meine Firma\DB.mdb');
except
Registry.Free;
WriteDSNToRegistry := false;
Exit;
end;
try
if Registry.OpenKey('\Software\Meine Firma\DB.mdb', true) = true then
Registry.WriteString('DSN1', DSN1 )
//Mein folgender Versuch funktionierte nicht
//Registry.WriteString('DSN1'+'Jet usw. Passwort', DSN1 )
else begin
MessageDlg('Es konnte nicht in die Registry geschrieben '+
'werden', mtError, [mbOK], 0);
WriteDSNToRegistry := false;
end;
finally
Registry.CloseKey;
Registry.Free;
end;
end;
Vielleicht kann mir jemand von Euch helfen. Ich habe es schon in einem anderen Forum versucht aber keine Antwort erhalten.
Ist der Ansatz evtl völlig falsch?
ich habe folgendes Problem mit D6 und Access2000:
Meine Datenbank ist mit einem Passwort geschützt. Der Anwender muß sich beim ersten Programmstart mit den ADOConnectionstring-Dialogen den DB-Pfad selbst zusammensetzen. Dabei wird der Pfad mit einer Funktion in die Registry geschrieben. Ich muß deshalb dem Anwender das Passwort mitteilen, sonst bekommt er die Verbindung nicht zustande. Dann ist aber der Weg in die Datenbank für jeden frei der das Passwort kennt.
Mit dem folgenden Code schreibe ich den kompletten String in die Registry.
Meine Frage: An welcher Stelle in diesen Code kann ich den Wert für das Passwort setzen?
function TStart.WriteDSNToRegistry(DSN1 : string) : Boolean;
var Registry : TRegistry;
begin
WriteDSNToRegistry := true;
Registry := TRegistry.Create;
Registry.RootKey := HKEY_LOCAL_MACHINE;
if Registry.KeyExists('\Software\Meine Firma\DB.mdb') = false then
try
Registry.CreateKey('\Software\Meine Firma\DB.mdb');
except
Registry.Free;
WriteDSNToRegistry := false;
Exit;
end;
try
if Registry.OpenKey('\Software\Meine Firma\DB.mdb', true) = true then
Registry.WriteString('DSN1', DSN1 )
//Mein folgender Versuch funktionierte nicht
//Registry.WriteString('DSN1'+'Jet usw. Passwort', DSN1 )
else begin
MessageDlg('Es konnte nicht in die Registry geschrieben '+
'werden', mtError, [mbOK], 0);
WriteDSNToRegistry := false;
end;
finally
Registry.CloseKey;
Registry.Free;
end;
end;
Vielleicht kann mir jemand von Euch helfen. Ich habe es schon in einem anderen Forum versucht aber keine Antwort erhalten.
Ist der Ansatz evtl völlig falsch?
Comment