vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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

Fortgeschrittene Programmierung
"Nicht genügend Arbeitsspeicher" 
Autor: fredeX
Datum: 21.05.08 13:20

Hi ...

folgendes Problem:

Über ein VB6-Programm wird eine Verbindung zu einer MS Access 2000-Datenbank aufgebaut, diese besitzt intern noch eine verknüpfte Tabelle von einer FireBird-Datenbank.

Hierzu verwende ich...

  With objConn
    .Provider = "Microsoft Jet 4.0 OLE DB Provider"               ' 
    ' Datenbankformat: Access 2000
    .ConnectionString = "Data Source=" & strPath & "Artikel.mdb"  ' Datenquelle
    .Properties("Jet OLEDB:Database Password") = "xxx"            ' Passwort
    .Open       ' Verbindung öffnen
  End With
... was auch Problemlos funktioniert.

Dann möchte ich über objConn ein Recordset öffnen ... hierzu:

  With rsMain
    .ActiveConnection = objConn             ' Aktive Verbindung benennen
    .CursorLocation = adUseClient
    .LockType = adLockOptimistic
    .Source = strSQL
    .Open                                   ' Recordset laden
  End With
strSQL:

"SELECT [LFDNR], [ARTIKELNR], [LIEFERANTARTIKELNR], LIEFERANTLFDNR, [ModellNr]" _
  & _
  "& ' ' & [Farbe] & ' ' & [Variante] AS ArtNrGes, Menge, Normalpreis From" & _
  "ARTIKEL1, Artikelpreis WHERE ARTIKELNR Like '" & strNummer & "%' AND" & _
  "[ModellNr] & ' ' & [Farbe] & ' ' & [Variante] = [LIEFERANTARTIKELNR] AND" & _
  "Menge = 1 AND LIEFERANTLFDNR = 10037 Or LIEFERANTLFDNR = 479190;"
ARTIKEL1 ist die Tabelle aus der Firebird-Datenbank mit ca. 2800 Datensätzen.
Artikelpreis ist die MS Access 2000-Tabelle mit 490305 Datensätzen.

Hierbei (enorme Zahl an Datensätzen) sehe ich evtl. ein Problem, weiß aber nicht wie ich es lösen könnte.

Bei der ".open"-Anweisung tritt dann das Problem auf, dass der Arbeitsspeicher und die Auslagerungsdatei so lange vollaufen bis eines der beiden das Maximum erreicht hat, danach kommt z.B. bei der ".RecordCount"-Anweisung die Fehlermeldung: "Nicht genügend Arbeitsspeicher".

Die SQL-Abfrage funktioniert in Access selbst wunderbar, wobei lediglich die CPU-Auslastung auf ca. 53% steigt, die Auslagerungsdatei und der Arbeitsspeicher bleiben beinahe unverändert.

Ich hoffe Ihr könnt mir helfen ...
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
"Nicht genügend Arbeitsspeicher"2.424fredeX21.05.08 13:20
Re: "Nicht genügend Arbeitsspeicher"1.642Lordcroc21.05.08 13:46
Re: "Nicht genügend Arbeitsspeicher"1.604fredeX26.05.08 14:36
Re: "Nicht genügend Arbeitsspeicher"1.658wb-soft21.05.08 14:23
Re: "Nicht genügend Arbeitsspeicher"1.795Lordcroc21.05.08 16:18
Re: "Nicht genügend Arbeitsspeicher"1.633fredeX21.05.08 19:12
Re: "Nicht genügend Arbeitsspeicher"1.695wb-soft26.05.08 15:22

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