Announcement

Collapse
No announcement yet.

Access-Passwort vergeben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Access-Passwort vergeben

    Hallo zusammen,
    ich habe folgendes Problem.
    Ein Delphi 5 Programm soll zusammen mit Access 2002 folgende Funktionalität erfüllen.
    Ein Anwender kann eine Suche ausführern, aus dem Suchergebnis selektiert er bestimmte Einträge und diese aollen in eine Access Tabelle kopiert werden.
    Bis hierhin kein Problem!
    nun soll die Access Datenbank mit einem Passwort geschützt werden. Das Passwort soll aber nicht vom Anwender sondern durch das Programm automatisch vergeben werden.
    Wie muß ich nun Access ansprechen damit ich das Passwort übergeben kann???
    Freu mich schon auf eure Tipps
    Anke Reichert

  • #2
    Hallo Anke

    Ich kann dir leider nicht sagen, ob es funktioniert da ich so noch nicht gearbeitet
    habe. Aber ich würde versuchen der Access DB
    selber ein Benutzer mit Kennwort zu vergeben
    um dann mittels ADO darauf zu zugreifen.
    Mit ADO Connection kann man Benutzer
    und Kennwort übergeben.

    {Verbindung erstellen}
    U_ADODB01.CON01 := CoConnection.Create;
    {Datenbank und Provider zusammenführen}
    {Datenbank und Provider zusammenführen}
    U_ADODB01.DB_Provider01 :=
    'Provider=Microsoft.Jet.OLEDB.4.0;' +
    'Data Source=' +
    'H:\EDV\PC_Datenbank\Lieferungen.mdb' +
    ';Persist Security Info=False';
    {Verbindungstyp setzen}
    U_ADODB01.CON01.CursorLocation := adUseClient;
    {Verbindung öffnen}
    U_ADODB01.CON01.Open(U_ADODB01.DB_Provider01, 'User', 'Kennwort', -1);

    Versuch es mal, viel Glüc

    Comment


    • #3
      Hallo RaMa,

      danke für deine Antwort doch das war nicht ganz meine Frage. Ich schreib die Information mit ADO in die Access-Datenbank ich will dann aber auf diese Datenbank ein Passwort legen. Das Passwort soll nicht statisch sein. Deswegen vergebe ich das Passwort nicht fix. Sondern möchte wenn die DB erzeugt ist, aus einer Oracel DB ein Passwort auslesen und dieses dann vergeben.

      Problem jetzt klarer

      Comment


      • #4
        Hallo Anke,

        folgende Prozedur schließt die Verbindung zur Access-Datenbank, ändert das Passwort und baut die Verbindung mit dem neuen Passwort neu auf:

        <PRE>
        procedure SQLChangePassword(AConnection:TADOConnection; OldPwd,NewPwd:string);
        var
        cmd : TADOCommand;
        conn : string;
        begin
        if OldPwd='' then OldPwd := 'NULL';
        if NewPwd='' then NewPwd := 'NULL';
        conn := AConnection.ConnectionString;
        AConnection.Connected := false;
        AConnection.ConnectionString := conn + ';Mode=Share Deny Read|Share Deny Write';
        cmd := TADOCommand.Create(nil);
        with cmd do begin
        try
        try
        Connection := AConnection;
        CommandType := cmdText;
        CommandText := Format('ALTER DATABASE PASSWORD %s %s', [NewPwd, OldPwd]);
        Execute;
        AConnection.Connected := false;
        AConnection.ConnectionString := Format('%s;Jet OLEDBatabase Password=%s', [conn, NewPwd]);
        AConnection.Connected := true;
        except on E:Exception do
        raise Exception.CreateFmt('Ändern des Passworts fehlgeschlagen: %s', [E.Message]);
        end;
        finally
        Free;
        end;
        end;
        end;
        </PRE>

        &#10

        Comment


        • #5
          Hallo Werner, supi danke für deine Antwort funzt einwandfrei *freu*

          Gruß Anke Reicher

          Comment

          Working...
          X