vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ADO.NET / Datenbanken
Langsamer Zugriff auf Access Datenbank unter Windows 8 
Autor: Daniel D.
Datum: 07.10.14 10:52

Ich habe das Problem das folgender Code unter Windows 8 ca. 60 Sekunden zum ausgeführt benötigt. Unter Windows 7 benötigt dieser Code allerdings nur ca. 0,2 Sekunden.

    Private Sub Test()
 
        Dim sProvider As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data" & _
          "Source="
        Dim sDbName As String = "C:\Rechnungen.mdb"
 
        Dim sSql As String = ""
        sSql = "SELECT vg.* "
        sSql &= "FROM vg "
        sSql &= "WHERE (vg.lagerfg = 0) AND (vg.mahnst = 0 or vg.mahnst = 1 or" & _
          "vg.mahnst = 2 or vg.mahnst = 3 or vg.mahnst = 4);"
 
        Dim conn As OleDbConnection
        Dim cmd As OleDbCommand
        Dim dt As New DataTable
        conn = New OleDbConnection(sProvider & sDbName)
        conn.Open()
        cmd = New OleDbCommand(sSql)
        cmd.Connection = conn
        Dim da As New OleDbDataAdapter(cmd)
        da.Fill(dt) 'An dieser Stelle hängt das Programm unter Windows 8.
        conn.Close()
 
    End Sub
In der Tabelle vg sind ca. 35000 Datensätze vorhanden. Ich kann mir nicht erklären warum der Zugriff unter Windows 8 so viel länger benötigt.

Hat vielleicht jemand einen Hinweis wodurch das Problem verursacht werden könnte?

Gruß Daniel
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Langsamer Zugriff auf Access Datenbank unter Windows 8 
Autor: Manfred X
Datum: 07.10.14 13:03

Hallo!

C:\ ist kein besonders geeigneter Speicherort für eine Datenbank.
Ist der Speicher stark fragmentiert?
Laufen irgendwelche ressourcen-zehrenden Dienste im Hintergrund?

Ansonsten:
Die Klasse "OleDBDataAdapter" bietet eine Konstruktorüberladung,
der direkt Strings (Abfrage, Verbindung) übergeben werden können.
Schau Dir die Klasse OleDBParameter an.




Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Langsamer Zugriff auf Access Datenbank unter Windows 8 
Autor: Daniel D.
Datum: 07.10.14 13:33

Hallo Manferd, danke für deine Antwort.

Die Datenbank ist normalerweise natürlich in einem anderen Ordner abgelegt. Ich habe nur ein kleines Testprojekt erstellt um das Problem einzukreisen.

Ich habe die Datenbank bereits komprimieren und reparieren lassen. Das Problem wurde so nicht behoben.

Das Testprogramm habe ich auch schon auf mehreren Rechnern getestet. Das Problem besteht immer nur unter Windows 8. Im Taskmanager kann man auch keine ungewöhnlichen Aktivitäten beobachten. Das Programm scheint einfach „Däumchen zu drehen“.

Ich habe jetzt mal Testweise einen Teil der Daten aus der Tabelle gelöscht. Ab 20000 Datensätzen erfolgt der Zugriff genau so schnell wie unter Windows 7.

Das kann natürlich nicht die Lösung für das Problem sein.

Gruß Daniel
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Langsamer Zugriff auf Access Datenbank unter Windows 8 
Autor: Manfred X
Datum: 07.10.14 13:51

Hast Du diesen Beitrag mal angeschaut? Eventuell liegt ein 64Bit-Problem vor.
http://stackoverflow.com/questions/13811179/where-how-can-i-download-and-install-the-microsoft-jet-oledb-4-0-for-windows-8


Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Langsamer Zugriff auf Access Datenbank unter Windows 8 
Autor: Daniel D.
Datum: 07.10.14 15:07

Es scheint tatsächlich ein Problem mit 64Bit Betriebssystemen zu sein. Ich habe das ganze jetzt mal unter Windows 8 mit 32 Bit getestet und das Problem besteht nicht.

Allerdings ist das Windows 7, bei welchem das Problem nicht besteht, auch ein 64 Bit System.

Das Programm läuft ja auch, nicht wie bei dem von dir verlinkten Beitrag geschildert. Das Programm ist halt nur viel zu langsam.

Das Programm wird für 32 Bit Plattformen kompiliert, daher sollte der Zugriff auf Jet OLEDB 4.0 auch problemlos möglich sein.

Gruß Daniel
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Langsamer Zugriff auf Access Datenbank unter Windows 8 
Autor: Manfred X
Datum: 07.10.14 15:45

Du könntest versuchen, NUR die 32Bit-Treiber für die AccessDataBaseEngine
unter dem 64Bit-Windows zu installieren.


Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Langsamer Zugriff auf Access Datenbank unter Windows 8 
Autor: Daniel D.
Datum: 07.10.14 16:13

Für den Zugriff auf die Datenbank habe ich nichts zusätzlich installiert
Das ist doch schon alles Teil des Betriebssystems.
Das einzige was ich installiert habe, ist das .NET Framework 4.0, damit das Programm ausgeführt werden kann.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Langsamer Zugriff auf Access Datenbank unter Windows 8 
Autor: Manfred X
Datum: 07.10.14 18:58

ACCDB-Treiber ???
http://www.vbarchiv.net/forum/id24_i20044t20043_microsoftjetoledb40-nicht-registriert.html
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Langsamer Zugriff auf Access Datenbank unter Windows 8 
Autor: Daniel D.
Datum: 08.10.14 08:23

Die Datenbank ist im Accsess 2002 Format, der ACCDB-Treiber wird also meiner Meinung nach nicht benötigt. Ich habe den Treiber dennoch installiert, das Problem besteht weiterhin.

Die einzige Möglichkeit den Zugriff zu beschleunigen, die ich bis jetzt gefunden habe, ist einen Teil der Daten zu löschen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Langsamer Zugriff auf Access Datenbank unter Windows 8 
Autor: Daniel D.
Datum: 13.10.14 12:35

Falls jemand das gleiche Problem hat, hier die Lösung:

Die Datenbank ist noch im alten Access 2002-2003 (.mdb) Format. Wenn ich die Datenbank auf das neue Access-Format (.accdt) umstelle, besteht das Problem nicht mehr.

Bei dem neuen Format, wird natürlich auch der ACCDB-Treiber benötigt.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel