VBA Verbindung zu Microsoft sql server
Timm
Guten Abend,
mein Ziel ist es eine Verbindung zu einer Microsoft sql server Express 2022 Datenbank aufzubauen.
Die folgende Verweis sind aktiviert:
Microsoft ActiveX Data Objects 2.8 Library
Microsoft ActiveX Data Objects Recordsets 2.8 Library
Ich bin auf folgende Codeansätze gestoßen:
Sub SQL_Verbindung()
Dim con As New ADODB.Connection
Dim rec As New ADODB.Recordset
Dim comm As New ADODB.Command
Dim SQL_Comm As String
Dim sqlconn As String
Dim server_name As String, database_name As String
server_name = "XXXX\SQL_DATENBANK"
database_name = "Personen"
'Version 1
sqlconn = "Provider=SQLOLEDB;" & " Data Source = server_name;" & "Initial Catalog= database_name;" & "Integrated Security=True;"
Set con = New ADODB.Connection
con.Open sqlconn
'Version 2
sqlconn = "Provider = SQLOLEDB; Server= " & server_name & ";database=" & database_name & "; Integraded Security= True"
con.Open sqlconn
SQL_comm = "INSERT INTO Tabellenblattname()"-->SQL INSERT Befehl
rec.Open SQL_Comm, con
Comm.CommandText = SQL_comm
rec.Close
con.Close
Zur Providerangabe habe ich auch noch folgendes gefunden:
SQLNCLI11
Welche Angabe ist hier beim Provider richtig?
Ich nutzt die Windows-Authentifizierung, welche Angabe ist hier die richtige bei Integraded Security? SSPI oder True?
Bei Version 1 erhalte ich folgende Fehlermeldung:
Laufzeitfehler '2147217887(80040e21)'
Fehler bei einem aus mehreren Schritten bestehenden OLE DB-Vorgang. Prüfen Sie die einzelnen OLE DB-Statuswerte, falls vorhanden. Daten wurden nicht verarbeitet.
Bei Version 2 erhalte ich folgende Fehlermeldung:
Laufzeitfehler '2147217843(80040e4d)'
Ungültige Autorisierungsangabe
Bin mal gespannt wo mein Fehler liegt.
Danke euch vorab.
Gruß
Timm