Hallo Miteinander,
habe folgendes Problem:
Bekomme sporadisch innerhalb meiner VBasic- Anwendung folgenden Laufzeitfehler:
Laufzeitfehler -2147217871 (80040e31)
Die Ausführung wurde aufgrund von erreichter Ressourcenbegrenzung
abgebrochen. Es wurden keine Ergebnisse zurückgegeben.
Dieser Laufzeitfehler tritt nicht immer auf, sondern manchmal. Ist ja bekanntlich der dümmste Fehler, denn man kann ihn nicht provozieren.
Mach hier eine einfache Datenbank- Abfrage (Oracle).
Bei der Open- Anweisung waffelt es ihn dann machmal..
Hier ein Auszug aus meinen Code:
Public Function funWasDatum(Blattnummer As Integer, WasDatum As String)
'###############################################################
'# Funktion zum auslesen der zwischengespeicherten Datums #
'# (Regel- und Spitzenaktualisierung). #
'# Zugriff erfolgt auf die Oracle- Datenbank. #
'###############################################################
Dim RECSET_ORACLE As Recordset
'--------------------------------------------------
' Ist Datenbankverbindung möglich?!
' -> Oracle
'--------------------------------------------------
If Plot25.fncCheckDBAtkisdatenabgabe = True Then
frmErfassenMetadaten.StatusZeileDB Time & " - Datenbankverbindung (Oracle) für funWasDatum war möglich."
Else
frmErfassenMetadaten.StatusZeileDB Time & " - FEHLER: Datenbankverbindung (Oracle) für funWasDatum war NICHT möglich!"
MsgBox "FEHLER: Datenbankverbindung (Oracle) für funWasDatum war NICHT möglich!", vbCritical
Plot25.Enabled = True
Unload frmErfassenMetadaten
Exit Function
End If
'--- DB oeffnen, wenn nicht offen ---
If DB_Zugriff.Atkisdatenabgabe.State = adStateClosed Then
DB_Zugriff.Atkisdatenabgabe.Open
End If
Set RECSET_ORACLE = New Recordset
SQL = "SELECT BLATTKENNUNG, UMFASSENDE_AKT, SPITZEN_AKT " & _
"From DA_RASTER_TK25_AUSGABE_TMP " & _
"WHERE BLATTKENNUNG = " & CInt(Blattnummer)
Debug.Print SQL
RECSET_ORACLE.Open SQL, DB_Zugriff.Atkisdatenabgabe, adOpenStatic, adLockReadOnly
if RECSET_ORACLE.RecordCount = 0 Then
Debug.Print Blattnummer & " ist nicht vorhanden!"
Else
if ........
End If
End If
'If RECSET_ORACLE.State = adStateOpen Then RECSET_ORACLE.Close
On Error Resume Next
RECSET_ORACLE.Close
End Function
Gruß
F.S