Guten Morgen, ich bin neu und bitte aufgrund folgenden konkreten Problems um Hilfe.
Ich habe diverse Excel-Tools mit VBA programmiert, welche die für die Tools notwendigen Daten aus einer SQL-DB lesen oder in sie schreiben. Die Verbindung klappte über Jahre mit folgendem Code ohne Probleme:
'---------------------------------------------------------------------------------------------------------------------------------------------
' Konstanten
'-----------------------------------------------------------------------
Public c_str_Database As String 'Name DB
Public c_str_Provider As String 'Name Provider
Public c_str_Server As String 'Name Server
c_str_Provider = "SQLOLEDB"
c_str_Server = "XXX" 'Server
c_str_Database = "YYY" 'DB-Name
'---------------------------------------------------------------------------------------------------------------------------------------------
' Funktion für SELECT aus der DB
Public Function db_connect_select(sqlStr As String) As Variant
'------------------------- Erläuterung Parameter --------------------
'sqlStr = SQL-String
'------------------------- Variablendeklaration --------------------
Dim objAdoConnect As Object
Dim objAdoRecordset As Object
Dim connStr As String 'Connection-String
Dim x As Integer
'------------------------- Erzeugung des Connection-String --------------------
connStr = "Provider= " & c_str_Provider & "; Data Source = " & c_str_Server & ";" & " Initial Catalog = " & c_str_Database & ";"
connStr = connStr & "Trusted_Connection=Yes"
'------------------------- DB-Verbindungsaufbau --------------------
Set objAdoConnect = CreateObject("ADODB.CONNECTION")
objAdoConnect.Open connStr
Set objAdoRecordset = CreateObject("ADODB.recordset")
With objAdoRecordset
.Source = sqlStr
.ActiveConnection = objAdoConnect
.Open
End With
'------------------------- Auslesen Daten aus Recordset in das Funktions-Array --------------------
p_boo_DatenGefunden = False
If objAdoRecordset.BOF = False Then
objAdoRecordset.MoveFirst
db_connect_select = objAdoRecordset.GetRows
Else
p_boo_DatenGefunden = True
End If
'------------------------- Verbindung schließen --------------------
objAdoRecordset.Close
objAdoConnect.Close
Set objAdoRecordset = Nothing
Set objAdoConnect = Nothing
End Function
Seit einigen Tagen bekomme ich folgende Fehlermeldung an der rot markierten Stelle:
[DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Sicherheitsfehler
Weiß jemand, woran das liegen kann? Gibt es vielleicht andere/neuer Möglichkeiten der Verbindung?
Danke und viele Grüße
Ich habe diverse Excel-Tools mit VBA programmiert, welche die für die Tools notwendigen Daten aus einer SQL-DB lesen oder in sie schreiben. Die Verbindung klappte über Jahre mit folgendem Code ohne Probleme:
'---------------------------------------------------------------------------------------------------------------------------------------------
' Konstanten
'-----------------------------------------------------------------------
Public c_str_Database As String 'Name DB
Public c_str_Provider As String 'Name Provider
Public c_str_Server As String 'Name Server
c_str_Provider = "SQLOLEDB"
c_str_Server = "XXX" 'Server
c_str_Database = "YYY" 'DB-Name
'---------------------------------------------------------------------------------------------------------------------------------------------
' Funktion für SELECT aus der DB
Public Function db_connect_select(sqlStr As String) As Variant
'------------------------- Erläuterung Parameter --------------------
'sqlStr = SQL-String
'------------------------- Variablendeklaration --------------------
Dim objAdoConnect As Object
Dim objAdoRecordset As Object
Dim connStr As String 'Connection-String
Dim x As Integer
'------------------------- Erzeugung des Connection-String --------------------
connStr = "Provider= " & c_str_Provider & "; Data Source = " & c_str_Server & ";" & " Initial Catalog = " & c_str_Database & ";"
connStr = connStr & "Trusted_Connection=Yes"
'------------------------- DB-Verbindungsaufbau --------------------
Set objAdoConnect = CreateObject("ADODB.CONNECTION")
objAdoConnect.Open connStr
Set objAdoRecordset = CreateObject("ADODB.recordset")
With objAdoRecordset
.Source = sqlStr
.ActiveConnection = objAdoConnect
.Open
End With
'------------------------- Auslesen Daten aus Recordset in das Funktions-Array --------------------
p_boo_DatenGefunden = False
If objAdoRecordset.BOF = False Then
objAdoRecordset.MoveFirst
db_connect_select = objAdoRecordset.GetRows
Else
p_boo_DatenGefunden = True
End If
'------------------------- Verbindung schließen --------------------
objAdoRecordset.Close
objAdoConnect.Close
Set objAdoRecordset = Nothing
Set objAdoConnect = Nothing
End Function
Seit einigen Tagen bekomme ich folgende Fehlermeldung an der rot markierten Stelle:
[DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Sicherheitsfehler
Weiß jemand, woran das liegen kann? Gibt es vielleicht andere/neuer Möglichkeiten der Verbindung?
Danke und viele Grüße