none
ODBC Verbindungsstring zu Datenbank mit Passwort

    Frage

  • Hallo,

    ich finde keine Informationen zum ODBC-Verbindungsstring, wenn meine Access 2007 Datenbank per Passwort geschützt ist (nicht Benutzer + Passwort). ODBC-Verbindungstring: "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=..."

    OLEDB scheint folgendes zu verwenden: "Jet OLEDB:Database Password=MyDbPassword;"

    Wie lautet das für ODBC?

    Mit freundlichen Grüßen
    Sebastian

    Freitag, 4. November 2011 09:59

Antworten

Alle Antworten

  • Hallo Sebastian,

    Sebastian Held schrieb folgendes:

    ich finde keine Informationen zum ODBC-Verbindungsstring, wenn meine Access 2007 Datenbank per Passwort geschützt ist (nicht Benutzer + Passwort). ODBC-Verbindungstring: "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=..."

    http://www.connectionstrings.com/access#p21

    Gruß
    Gunter


    Access FAQ: http://www.donkarl.com

          http://www.avenius.de - http://www.AccessRibbon.de
    http://www.ribboncreator.de - http://www.ribboncreator2010.de

    Freitag, 4. November 2011 10:06
    Moderator
  • Danke für die schnelle Antwort, aber leider kannte ich diese Seite schon und die gewünschte Information findet sich dort leider nicht.
    Es gibt einen Unterschied zwischen einem Datenbank Passwort und der Kombination Benutzername und Passwort.

    Am Beispiel von OLE DB Provider (von http://www.connectionstrings.com/access):

    "Jet OLEDB:Database Password=MyDbPassword;"

    "User ID=myUsername;Password=myPassword;"

    Wie lautet das bei ODBC?

    Freitag, 4. November 2011 10:26
  • Hallo,

    Sebastian Held wrote:

    Am Beispiel von OLE DB Provider (von http://www.connectionstrings.com/access):

    "Jet OLEDB:Database Password=MyDbPassword;"

    "User ID=myUsername;Password=myPassword;"

    Wie lautet das bei ODBC?

    IIRC sollte so lauten:

    ...;uid=admin;pwd=myPassword;"

    (ungetestet)

    Gruss - Peter


    Mitglied im http://www.dbdev.org
    FAQ: http://www.donkarl.com

    Freitag, 4. November 2011 13:00
    Moderator
  • Nein, daß ist wieder die Benutzer-Sicherheit...

    Hier mal ein Microsoft Artikel, der den Sachverhalt klar stellen sollte: http://office.microsoft.com/en-us/access-help/encrypt-a-database-by-using-a-database-password-HA010096299.aspx

    Die Datenbank hat NUR ein Passwort, KEINEN zugehörigen Benutzernamen. Die Sicherheitskonzepte sind völlig unterschiedlich.

    Gruß
    Sebastian

    Freitag, 4. November 2011 13:52
  • Hallo Sebastian,

    Sebastian Held schrieb folgendes:

    Die Datenbank hat NUR ein Passwort, KEINEN zugehörigen
    Benutzernamen.

    Über ODBC ist es IMO nicht möglich das Datenbank Kennwort zu
    übergeben.

    Gruß
    Gunter


    Access FAQ: http://www.donkarl.com

          http://www.avenius.de - http://www.AccessRibbon.de
    http://www.ribboncreator.de - http://www.ribboncreator2010.de

    Freitag, 4. November 2011 13:57
    Moderator
  • Ich hatte es befürchtet... Allerdings wundert es mich schon, daß Microsoft einen neuen ODBC Treiber rausbringt (*.mdb UND *.accdb) und diese Funktion nicht implementiert. Ärgerlich.

    Danke für die Antworten.

    Sebastian

    Freitag, 4. November 2011 15:09
  • Hallo,

    Sebastian Held wrote:

    Nein, daß ist wieder die Benutzer-Sicherheit...

    Hast du das denn probiert?

    Der Standard-Benutzer, wenn man keine ULS verwendet, heisst Admin. Den
    sieht man nur nicht, weil er nirgens vorkommt. Gib mal im Direktfenster
    (Ctrl-G) deiner Access-DB folgendes ein:

    ? CurrentUser

    Alles klar? ;-)

    So, und wenn du jetzt aus deiner Nicht-Access-Anwendung das DB-Passwort per
    ODBC uebergeben willst, muesstest du normalerweise mit meinen Angaben
    zurechtkommen. Ich schreibe im Konjunktiv, weil ich z. Zt. keine
    Moeglichkeit hab, es selbst zu probieren, waere daher ueber Feedback
    dankbar.

    Access-FE -> Access-BE per ODBC ist uebrigens nicht moeglich.

    Gruss - Peter


    Mitglied im http://www.dbdev.org
    FAQ: http://www.donkarl.com

    Freitag, 4. November 2011 18:20
    Moderator
  • Asche auf mein Haupt. Leider haben alle außer mir Recht. Zu meiner Verteidigung:

    Ich verwende eine Frontend Datenbank, die verknüpfte Tabellen einer anderen Datenbank enthält. Letztere habe ich versucht per Programm mit dem richtigen Passwort zu öffnen, was immer mißlang. Das veranlaßet mich dazu nach den richtigen Verbindungsstrings zu suchen und ich fand den Microsoft Artikel über den UNterschied zwischen datenbankpasswort (Verschlüsselung) und der Benutzersicherheit. Da OLEDB schheinbar zwischen diesen unterscheidet und ODBC nicht kam ich zu meiner hier gestellten Frage.

    Verwende ich baer nun den ODBC Treiber mit der Frontend-Datenbank, kann ich diese mit mit dem richtigen Passwort öffnen. Mein Problem lag also ganz woanders. Trotzdem werde ich mir das Problem nochmal ansehen müssen, wenn nicht alle nötigen Tabellen im Frontend verknüpft sind.

    Danke nochmal für alle Antworten, nächstes Mal probiere ich wohl besser etwas länger herum.

    Sebastian

    Montag, 7. November 2011 08:44
  • Hallo,

    Sebastian Held wrote:

    Ich verwende eine Frontend Datenbank, die verknüpfte Tabellen einer
    anderen Datenbank enthält.

    Frontend=Access oder ?
    Backend=?

    Gruss - Peter


    Mitglied im http://www.dbdev.org
    FAQ: http://www.donkarl.com

    Dienstag, 8. November 2011 09:19
    Moderator
  • Beides sind Access Datenbanken. Das "Frontend" liegt auf den einzelnen Rechnern und das "Backend" liegt auf einer Serverfreigabe.

    Im Augenblick reicht mir der Zugriff auf die erste Datenbank, das funktioniert jetzt auch einwandfrei. Falls ich Tabellen aus dem Backend benötige, muß ich mit der Problematik nochmals beschäftigen.

    Gruß
    Sebastian

    Mittwoch, 9. November 2011 07:49
  • Hallo,

    Sebastian Held wrote:

    Beides sind Access Datenbanken. Das "Frontend" liegt auf den einzelnen
    Rechnern und das "Backend" liegt auf einer Serverfreigabe.

    Im Augenblick reicht mir der Zugriff auf die erste Datenbank, das
    funktioniert jetzt auch einwandfrei. Falls ich Tabellen aus dem Backend
    benötige, muß ich mit der Problematik nochmals beschäftigen.

    Weil du bisher nirgendwo erwaehnt hast, womit du auf FE oder BE
    zugreifst, koennte der Eindruck entstehen, du wuerdest mit Access auf eine
    andere Access-DB per ODBC zugreifen, was in Access garnicht vorgesehen ist.
    Du kannst auf vieles per ODBC zugreifen, nur nicht auf eine andere
    mdb/accdb. Wollte das nur gesagt haben ;-)

    Gruss - Peter


    Mitglied im http://www.dbdev.org
    FAQ: http://www.donkarl.com

    Donnerstag, 10. November 2011 10:31
    Moderator