Datenbank Verbindung lässt sich nicht mehr schließen

13/10/2008 - 10:09 von Thomas | Report spam
Hallo,
ich habe Visual Studio 2008 mit .NetFramework 2.0.
Ich will auf eine Access Datenbank zugreifen, dafür verwende ich
dim myOleDBConn as System.Data.OleDb.OleDbConnection()
welche ich über einen Connection String öffne
Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password«C;Data
Source=C:\Datenbank.mdb
Nun schließe ich die Datenbank über "Connection.Close()". Alles ist in
Ordnung.

Wenn ich jedoch sehr viele
dim MeinOleAdapter as System.Data.OleDb.OleDbDataAdapter
MeinOleAdapter.Fill(myDataset)
Fülle und danach die Connection schließen will, dann schließt sich die
Verbindung nicht. Die Datenbank bleibt offen, die ldb und die mdb kann nicht
gelöscht werden.
Erst wenn ich mein Projekt komplett beende, dann kann ich auch wieder die
ldb, bzw die mdb löschen.

Wenn ich nur eine oder 2 Selects ausführe, und dann die Connection schließe,
dann wird die Verbindung noch richtig geschlossen, Erst wenn mehr als 5 bis
10 Fill gemacht werden, geht es nicht mehr.


Hat jemand eine Idee, ob man hierbei noch einige Objekte zerstören muss?
welche?


Ich habe folgenden Code um den Select auszuführen
'Connection öffnen
dim myOleDBConn as System.Data.OleDb.OleDbConnection()
myOleDBConn.ConnectionString=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database
Password«C;Data Source=C:\Datenbank.mdb
myOleDBConn.open


'Dataset füllen
dim OleDbSelectCommand1 As System.Data.OleDb.OleDbCommand
Dim MeinOleAdapter As System.Data.OleDb.OleDbDataAdapter
dim myDataset as DataSet

OleDbSelectCommand1.Connection = myOleDBConn
OleDbSelectCommand1.CommandText = "Select * from Tabelle"
MeinOleAdapter.SelectCommand = OleDbSelectCommand1
MeinOleAdapter.Fill(myDataset)
 

Lesen sie die antworten

#1 Johannes Busch
13/10/2008 - 11:27 | Warnen spam
Hallo Thomas,

wo und wie schließt Du denn was genau?

Johannes Busch

Hallo,
ich habe Visual Studio 2008 mit .NetFramework 2.0.
Ich will auf eine Access Datenbank zugreifen, dafür verwende ich
dim myOleDBConn as System.Data.OleDb.OleDbConnection()
welche ich über einen Connection String öffne
Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password«C;Data
Source=C:\Datenbank.mdb
Nun schließe ich die Datenbank über "Connection.Close()". Alles ist in
Ordnung.

Wenn ich jedoch sehr viele
dim MeinOleAdapter as System.Data.OleDb.OleDbDataAdapter
MeinOleAdapter.Fill(myDataset)
Fülle und danach die Connection schließen will, dann schließt sich die
Verbindung nicht. Die Datenbank bleibt offen, die ldb und die mdb kann nicht
gelöscht werden.
Erst wenn ich mein Projekt komplett beende, dann kann ich auch wieder die
ldb, bzw die mdb löschen.

Wenn ich nur eine oder 2 Selects ausführe, und dann die Connection schließe,
dann wird die Verbindung noch richtig geschlossen, Erst wenn mehr als 5 bis
10 Fill gemacht werden, geht es nicht mehr.


Hat jemand eine Idee, ob man hierbei noch einige Objekte zerstören muss?
welche?


Ich habe folgenden Code um den Select auszuführen
'Connection öffnen
dim myOleDBConn as System.Data.OleDb.OleDbConnection()
myOleDBConn.ConnectionString=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database
Password«C;Data Source=C:\Datenbank.mdb
myOleDBConn.open


'Dataset füllen
dim OleDbSelectCommand1 As System.Data.OleDb.OleDbCommand
Dim MeinOleAdapter As System.Data.OleDb.OleDbDataAdapter
dim myDataset as DataSet

OleDbSelectCommand1.Connection = myOleDBConn
OleDbSelectCommand1.CommandText = "Select * from Tabelle"
MeinOleAdapter.SelectCommand = OleDbSelectCommand1
MeinOleAdapter.Fill(myDataset)

Ähnliche fragen