none
SQL-Server Anmeldung per VBA RRS feed

  • Frage

  • Hallo,

    diesmal vielleich gleich eine Frage an die Access-Spezialisten unter Euch:

    Um den Anmeldedialog ("SQL Server-Anmeldung") beim Zugriff auf die mit einem SQL-Server verlinkten Tabellen zu vermeiden,
    setze ich folgendes Coding ein:

        Set ws = DBEngine.Workspaces(0)
        strConct = "ODBC;DRIVER=SQL Server Native Client 11.0;SERVER=12.10.44.123;APP=SSMA;DATABASE=meineDB;UID=sa;PWD=meinPasswort"
        Set db = ws.OpenDatabase("", False, True, strConct)
        

    mit folgendem Resultat:


    Microsoft SQL Server-Anmeldung

    Fehler bei der Verbindung:
    SQLState: '28000'
    SQL Server-Fehler: 18456
    [Microsoft][SQL Server Native Client 11.0][SQL Server]Fehler bei der Anmeldung für den Benutzer "sa".


    Die daraufhin doch wieder aufploppende SQL-Server-Anmeldung füttere ich mit den gleichen Daten und die Anmeldung geht durch.


    Hat jemand auch für dieses Problem eine Lösung?

    Herzlichen Dank
    Klaus-Jürgen





    Hinweis:
    Die Connect-Strings der verlinkten Tabellen sehen wie folgt aus:

    "ODBC;DRIVER=SQL Server Native Client 11.0;SERVER=12.10.44.123;APP=SSMA;DATABASE=meineDB;;Table=dbo.Projekt"
    "ODBC;DRIVER=SQL Server Native Client 11.0;SERVER=12.10.44.123;APP=SSMA;DATABASE=meineDB;;Table=dbo.ProjektDatei"
    "ODBC;DRIVER=SQL Server Native Client 11.0;SERVER=12.10.44.123;APP=SSMA;DATABASE=meineDB;;Table=dbo.ProjektDateiArt"
    ...
    ...
    Montag, 9. Dezember 2019 12:10

Alle Antworten

  • Ggf. ist das Problem die CaseInsenstivity im Connection-String.

    https://docs.microsoft.com/de-de/office/client-developer/access/desktop-database-reference/workspace-openconnection-method-dao

    Du kannst ein Workspace-Objekt mit den Anmeldedaten erstellen:

    Set wrkODBC = CreateWorkspace("NewODBCWorkspace", _ 
     "sa", "meinpassword", dbUseODBC) 
    
    Set conPubs = wrkODBC.OpenConnection("Connection1", _ 
     dbDriverNoPrompt, , _ 
     "ODBC;DATABASE=pubs;DSN=Publishers") 

    Dies hilft dir allerdings nicht bei verbundenen Tabellen, da hier Access die Verbindung automatisch übernimmt.
    Entweder du nutzt dann trusted Authentication (also aktueller User) oder du setzt User/Kennwort in die Eigenschaft der jeweiligen Tabelle, was wiederum nicht zu empfehlen wäre.

    Montag, 9. Dezember 2019 12:52