famsprenge
Goto Top

Abfrage durch vba von Oracle-DB, Fehlermeldung

Hallo zusammen,

ich versuche mit Excel-vba eine Abfrage von einer Oracle-Datenbank durchzuführen. Der Code läuft durch bis zum Öffnen des recordsets, dann kommt die Fehlermeldung "Laufzeitfehler -2147467259 (80004005) unbekannter Fehler"
Verweise habe ich auf Microsoft ActiveX Data Objects 6.1 Library, Microsoft ActiveX Data Objects Recordset 6.0 Library und Microsoft ADO Ext. 6.0 for DDL and Security (die letzten beiden habe ich so nach und nach dazu als es nicht lief, was aber auch nichts gebracht hat. Ich habe auch schon 2.5 und 2.6 ausprobiert, ohne Wirkung)
Ich habe Excel 2010, auf die Oracle-DB habe ich Leserechte, welche Oracle-Version weiß ich nicht.

Kann von euch jemand meinen Fehler entdecken?
Hier mein Code:

Option Explicit

Dim dbCon As New ADODB.Connection
Dim strConn As String
Dim rs As New ADODB.Recordset
Dim sSql As String

Sub Verbinden()

strConn = "Driver={Microsoft ODBC for Oracle};"
strConn = strConn & "Server=;"
strConn = strConn & "UID=;"
strConn = strConn & "Pwd=;"

With dbCon
.ConnectionString = strConn
.Mode = adModeRead
.CursorLocation = adUseClient
End With
If dbCon.State = 0 Then dbCon.Open ' hier steht die Verbindung (state=1)

End Sub

Sub VerbindungBeenden()
If rs.State = 1 Then
rs.Close
Set rs = Nothing
End If
If dbCon.State = 1 Then dbCon.Close
Set dbCon = Nothing
End Sub

Sub Datenholen()
Dim iCol As Integer

On Error GoTo errorhandler
Range("A1").Select

sSql = "SELECT MVOLLTEXT,CLANDKZ,LMERKBLA,LMERKBLB,LMERKBLC,LMERKBLD,LMERKBLOHN FROM TMS_USER.TMS100KUNDE"
Set rs = New ADODB.Recordset
Verbinden

rs.Open sSql, dbCon, adOpenKeyset, adLockReadOnly ' hier kommt die Fehlermeldung

While Not rs.EOF
For iCol = 0 To rs.Fields.Count
ActiveCell.Value = rs.Fields(iCol).Value
ActiveCell.Offset(0, 1).Select
Next iCol
ActiveCell.Offset(1, (rs.Fields.Count + 1) * -1).Select
rs.MoveNext
Wend

VerbindungBeenden

Exit Sub

errorhandler:
Dim e
e = MsgBox(Error, vbOKOnly)
VerbindungBeenden
End Sub

Im Oracle SQL Developer funktioniert der SQL-Code (über copy and paste eingefügt).

Content-Key: 283670

Url: https://administrator.de/contentid/283670

Printed on: April 16, 2024 at 06:04 o'clock