Access MDB: ALTER COLUMN erzeugt Error 3055 - Nicht genügend Arbeitsspeicher

16/10/2007 - 10:50 von Nikolai Wylutzki | Report spam
Hallo an alle VB Fans,

ich habe da einen Fehler mit dem ich nichts anfangen kann.
Auf einem Windows Terminalserver eines Kunden tritt der Fehler 3055
(Nicht genügend Arbeitsspeicher) auf.

Dieser Fehler tritt dann auf, wenn mein Programm (VB 6.0) versucht ein
Feldtypeines Accessfelds innerhalb einer ACCESS-MDB Datei zuàndern.

Das SQL-Statement lautet :

"ALTER TABLE verwaltung ALTER COLUMN betrag DOUBLE"

Wenn dieses Statement über das Objekt myDB.execute abgefeuert wird.
kommt als Fehlermeldung dieser Fehler zurück:

3055 = Nicht genügend Arbeitsspeicher

Nun meine Frage an Euch:

Was könnte dieser Fehler bedeuten ?
Könnte es sein das die Access-MDB Datei kaputt ist ?


Folgende Hinweise habe ich noch:

- Auf dem Terminalserver sind 12 GB Arbeitsspeicher vorhanden.
- Meine Datenbankobejkte werden nach jeder Aktion immer schön
geschlossen und gelöscht und vor jeder DB Aktion neu erzeugt und
die DB Verbindung neu erzeugt.




MfG
Nikolai
 

Lesen sie die antworten

#1 Peter Götz
16/10/2007 - 13:39 | Warnen spam
Hallo Nikolai,

ich habe da einen Fehler mit dem ich nichts
anfangen kann.
Auf einem Windows Terminalserver eines
Kunden tritt der Fehler 3055
(Nicht genügend Arbeitsspeicher) auf.

Dieser Fehler tritt dann auf, wenn mein Programm
(VB 6.0) versucht ein Feldtypeines Accessfelds
innerhalb einer ACCESS-MDB Datei zuàndern.

Das SQL-Statement lautet :

"ALTER TABLE verwaltung ALTER COLUMN
betrag DOUBLE"



Dieses SQL-Statement dürfte keine Probleme machen.
Die Ursache für Deinen 3055 ist sicher eine andere.

Wie greifst Du auf die *.mdb zu?
Mit DAO, ADO?


Wenn dieses Statement über das Objekt
myDB.execute abgefeuert wird.



myDB.execute klingt nach DAO?

kommt als Fehlermeldung dieser Fehler zurück:
3055 = Nicht genügend Arbeitsspeicher

Nun meine Frage an Euch:

Was könnte dieser Fehler bedeuten ?
Könnte es sein das die Access-MDB Datei kaputt ist ?



Jein.
Ohne nàhere Informationen kann man das aus
der Ferne nicht beurteilen.
Du kannst das doch ganz einfach selbst feststellen,
indem Du die *.mdb mal mit Access öffnest.



Folgende Hinweise habe ich noch:

- Auf dem Terminalserver sind 12 GB Arbeitsspeicher
vorhanden.
- Meine Datenbankobejkte werden nach jeder Aktion



Was meinst Du mit Aktion?
Schreiben DB?
Lesen DB?

immer schön geschlossen und gelöscht und vor
jeder DB Aktion neu erzeugt und
die DB Verbindung neu erzeugt.



Genau das sollte man einer *.mdb und noch mehr
der zugehörigen *.ldb nicht antun. Jedes Öffnen und
Schliessen der *.mdb verursacht einen Schreibzugriff
auf die zur *.mdb gehörende *.ldb. Dieses stàndige
Öffnen und Schliessen verursacht unnötige Netzlast,
unnötige Last beim Server und erhöht das Risiko, die
*.mdb / *.ldb zu beschàdigen ganz erheblich.

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen