Guten Abend in die Runde,
bin ganz neu hier und sehr gespannt auf den Austausch.
An sich bin ich recht erfahren mit VBA sowie Access-Datenbanken, die ich in den letzten Jahren immer über DAO angesprochen habe.
Nun habe ich mich weiterentwickelt, steige in SQL Server ein. Eine Datenbank habe ich soweit erstellt und versuche diese über VBA (in dem Fall von Excel aus) mit ADODB anzusprechen.
Es handelt sich um einen SQL Server 2019, die DB läuft mit Windows-Authentifizierung, in Excel habe ich die Bibliothek "Microsoft ActiveX Data Objects 6.1 Library" geladen.
Mein Code sieht wie folgt aus:
Public p_cnnADO As ADODB.Connection
Public p_rcsADO As ADODB.Recordset
Sub SQL_connect()
Set p_cnnADO = New ADODB.Connection
With p_cnnADO
.Provider = "SQLOLEDB" 'SQLOLEDB.1 geht auch nicht
.ConnectionString = "X:\Pfad\MeineDB.mdf"
.Properties("Integrated Security").Value = "SSPI"
.Open
End With
End Sub
Ich habe gelesen, dass man für den Zugriff mit Windows-Authentifizierung diese Zeile setzen muss:
.Properties("Integrated Security").Value = "SSPI"
hingegen "User ID" und "Password" nicht setzen darf.
Es scheint mehrere unterschiedliche Möglichkeiten zu geben, einzeilig alles über Properties, ... oder so, wie ich es gemacht habe, was mir an sich am besten gefällt.
Oft sehe ich noch weitere Properties Angaben, halte sie nach meinen Recherchen aber eher für überflüssig. Und alle Varianten und mal mit mehr oder weniger Properties, alle führen zu dem gleichen Fehler:
Laufzeitfehler '-2147467259 (80004005)'
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server existiert nicht oder Zugriff verweigert.
Abgesehen davon, dass ich hier den Pfad verfälscht habe, bei mir ist er richtig und wirklich existent.
Woran kann die Fehlermeldung noch liegen? Bitte glaubt mir, ich habe wirklich viel gegoogelt, in deutsch- und englischsprachigen Foren, nach der Connection als auch dem Fehler gesucht, nun bin ich ratlos und hoffe hier auf Unterstützung.
Für Eure Zeit bedanke ich mich schon im Voraus
Gruß
Jay
bin ganz neu hier und sehr gespannt auf den Austausch.
An sich bin ich recht erfahren mit VBA sowie Access-Datenbanken, die ich in den letzten Jahren immer über DAO angesprochen habe.
Nun habe ich mich weiterentwickelt, steige in SQL Server ein. Eine Datenbank habe ich soweit erstellt und versuche diese über VBA (in dem Fall von Excel aus) mit ADODB anzusprechen.
Es handelt sich um einen SQL Server 2019, die DB läuft mit Windows-Authentifizierung, in Excel habe ich die Bibliothek "Microsoft ActiveX Data Objects 6.1 Library" geladen.
Mein Code sieht wie folgt aus:
Public p_cnnADO As ADODB.Connection
Public p_rcsADO As ADODB.Recordset
Sub SQL_connect()
Set p_cnnADO = New ADODB.Connection
With p_cnnADO
.Provider = "SQLOLEDB" 'SQLOLEDB.1 geht auch nicht
.ConnectionString = "X:\Pfad\MeineDB.mdf"
.Properties("Integrated Security").Value = "SSPI"
.Open
End With
End Sub
Ich habe gelesen, dass man für den Zugriff mit Windows-Authentifizierung diese Zeile setzen muss:
.Properties("Integrated Security").Value = "SSPI"
hingegen "User ID" und "Password" nicht setzen darf.
Es scheint mehrere unterschiedliche Möglichkeiten zu geben, einzeilig alles über Properties, ... oder so, wie ich es gemacht habe, was mir an sich am besten gefällt.
Oft sehe ich noch weitere Properties Angaben, halte sie nach meinen Recherchen aber eher für überflüssig. Und alle Varianten und mal mit mehr oder weniger Properties, alle führen zu dem gleichen Fehler:
Laufzeitfehler '-2147467259 (80004005)'
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server existiert nicht oder Zugriff verweigert.
Abgesehen davon, dass ich hier den Pfad verfälscht habe, bei mir ist er richtig und wirklich existent.
Woran kann die Fehlermeldung noch liegen? Bitte glaubt mir, ich habe wirklich viel gegoogelt, in deutsch- und englischsprachigen Foren, nach der Connection als auch dem Fehler gesucht, nun bin ich ratlos und hoffe hier auf Unterstützung.
Für Eure Zeit bedanke ich mich schon im Voraus
Gruß
Jay