Autor Beitrag
bado
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 04.09.08 15:37 
Hi,

ich habe ein kleines Problem, und zwar haben wir ein Programm das mit mehreren Paradox5.x Tabellen arbeitet. Nun ist es geschehen das der Wert einer Spalte(Spalte hat das Short Format) überschritten ist (mehr als 32770 Datensätze).

Wenn ich nun mit der Datenbankoberfläche versuche den Wert des betroffenen Feldes auf LONG setze dann kann ich mit dem Programm die Datenbank nicht mehr öffnen.

Fehlermeldung lautet: Tabelle XXX kann nicht geöffnet werden

Ich vermutte das durch die änderung des Wertes SHORT auf LONG die DB irgendwie beschädigt oder einfach immer exclusiv geöffnet bleibt.

lg

BaDo


PS: Ich hoffe ihr könnt mir helfen vieleicht mit einem Programm mit dem ich diesen Wert noch verändern kann oder ich mach einfach irgendwas falsch ^^
Arne Danikowski
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 194



BeitragVerfasst: Do 04.09.08 15:56 
Mit welcher Version der Datenbankoberfläche öffnest Du die Datenbank?
Ab Delphi 7 ist das die Version 7.
Ich hatte mal das gleich Problem. Beim Speichern der Tabelle war die dann immer kaputt.
Habe dann einfach die alte Datenbnakoberfläche genommen, dann ging das auf einmal wieder.
Mit FoxPro solltest aber auch zum Ziel kommen.
bado Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 04.09.08 16:08 
user profile iconArne Danikowski hat folgendes geschrieben:
Mit welcher Version der Datenbankoberfläche öffnest Du die Datenbank?
Ab Delphi 7 ist das die Version 7.
Ich hatte mal das gleich Problem. Beim Speichern der Tabelle war die dann immer kaputt.
Habe dann einfach die alte Datenbnakoberfläche genommen, dann ging das auf einmal wieder.
Mit FoxPro solltest aber auch zum Ziel kommen.


Borland Delphi 3
und Datenbankoberfläche 7.0

hmm ich versuchs mal mit einer älteren version ^^
bado Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 04.09.08 16:15 
Gleich das nächste Problem wer weiß wo ich die Datenbankoberfläche herbeckomm werd auf dieser Borland Seite nicht fündig.

lg
Arne Danikowski
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 194



BeitragVerfasst: Fr 05.09.08 08:45 
Gibt auch noch eine andere Möglichkeit:
Erstelle mit Deiner aktuellen Datenbankoberfläche eine neue Tabelle, die identisch ist mit der alten,
führe dann mit Hilfe der Datenbankoberfläche die beiden Tabellen zusammen, also die alte in die neue Tabelle.
Muss nur darauf achten, dass die Feldnamen übereinstimmen.
WPs
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Do 11.09.08 01:07 
Hi BaDo,
also die DB-Oberfläche hast du ja wohl.
Kenne zwar nicht deine Version aber ich denke allzuviel hat sich nie geändert.
Also wie ich vorgegangen bin:
1. Ein neues(integer) Feld (name egal! z.B. a)HINTER dem alten(shortint) Feld mit der Taste "einfg/ins" anlegen & speichern.
- dahinter weil eventuell auf Felder per Index zugegriffen wird!
2. Mit dem SQL Modul(Datei/neu/sql-Datei) per update tabelle set Feld neu=Feld alt Tabelle neu schreiben.
Falls eine Fehlermeldung kommt überprüfe dein workdir.
Bei Umschreibung von integer-Feldern sollte dies immer klappen.
3. Da die "alte Tabelle" noch sichtbar sein sollte, diese schließen und erneut öffnen.
4. Prüfen; OK?; Altes Feld löschen; neues Feld mit altem Feldnamen versehen; speichern.
5. Es sollte nun ohne Fehler ein Zugriff möglich sein.
6. Nun kann auf deine Tabelle weiterhin ohne Änderung des Codes per fields.fields[i] bzw. fieldbyname('fieldname') zugegriffen werden.
Gruß Werner