Buffer Overflow bei Datenbank-Zugriff

09/01/2008 - 14:39 von Susann Markward | Report spam
Hallo,

ich möchte Daten aus einer MS-Access-Datenbank lesen. Das gelingt mir
eigentlich auch problemlos. Mit anderen Worten, eigentlich macht die
Anwendung genau das, was sie auch soll. Auch die VB6-IDE meldet keine
Fehler beim Kompilieren. Trotzdem habe ich ein paar kleinere Probleme.

Hier ist erstmal mein Code:
Dim cnnData As ADODB.Connection
Dim rstData As ADODB.Recordset
Set cnnData = New ADODB.Connection
Set rstData = New ADODB.Recordset

With cnnData
.Mode = adModeShareDenyNone
.CursorLocation = adUseClient
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Data Source") = App.Path & "\db\data.mdb"
.Open
End With

With rstData
.ActiveConnection = cnnData
.CursorLocation = adUseClient
.Source = "Select * from Benutzer"
.Open
End With

If rstData.RecordCount > 0 Then
Text1 = rstData.Fields!Name
End If

rstData.Close
cnnData.Close
Set rstData = Nothing
Set cnnData = Nothing

Durch Zufall schaute ich mir mit FileMon von Sysinternals mal an, was da
geschieht und siehe da, ich sehe eine Menge "BufferOverflows", "Not
Found"s und "No Such File"s.

Bspw. kommt der Fehler:
QUERY INFORMATION C:\Test\db\data.ldb BUFFER OVERFLOW FileAllInformation
oder
DIRECTORY C:\Temp\Access-Test\ NO SUCH FILE
FileBothDirectoryInformation: system.mdb
OPEN C:\Test\db\system.mdb NOT FOUND Options: Open Access: 0012019F

Und das obwohl ich in meinem Code überhaupt nicht auf eine system.mdb
zugreife.

Hat jemand mal einen kompilierbaren Bsp.Code für mich, wie man den
Datenbankzugriff korrekt macht?


Danke
Susann
 

Lesen sie die antworten

#1 Susann Markward
09/01/2008 - 14:44 | Warnen spam
Hallo,

*Susann Markward* schrieb am 09.01.2008 14:39:
DIRECTORY C:\Temp\Access-Test\ NO SUCH FILE
FileBothDirectoryInformation: system.mdb



Das ist aus einem alten, falschen Logfile. Die Fehlermeldung lautet
natürlich auch:

DIRECTORY C:\Test\ NO SUCH FILE FileBothDirectoryInformation: system.mdb

Ähnliche fragen