Author | Topic: XBase und Visual FoxPro - Defekte Indexdateien. | |
---|---|---|
Andreas E. | XBase und Visual FoxPro - Defekte Indexdateien. on Fri, 01 Sep 2006 12:09:17 +0200 Hallo Leute, seit der Umstellung auf die Version 1.9 haben wir viele Probleme mit den Indexdateien. Kurz zur Umgebung: Wir haben ein fremdes ERP-Programm, das in VFP geschrieben ist und FOXCDX-Dateien benutzt. Unser Xbase-PRogramm greift auf die Dateien des oben genannten Programms zum Lesen und Schreiben der Daten. Sobald unser Programm in die Datenbanken schreibt, mssen wir mehrmals am Tag im ERP die Indexreparatur anstossen, damit beide Programme wieder richtig funktionieren und alle Daten finden knnen. Unter XBase verwende ich die Default-Einstellungen (ich habe keine Einstellungen fr FOXCDX gendert). Unter FoxPro habe ich gerade mit dem Befehl ? sys(2029, 1) den Typ der Tabellen abgefragt, die von ERP benutzt werden. Das ist Typ 245 und laut Dokumentation "Frhere FoxPro-Versionen mit einem Memofeld" . Kennt sich jemand mit den Einstellungen fr FoxCdx? Was und wie muss ich da einstellen, um diese Probleme los zu werden? _________________ Gru, Andreas | |
Wolfgang Pasler | Re: XBase und Visual FoxPro - Defekte Indexdateien. on Mon, 04 Sep 2006 10:50:01 +0200 Hallo Andreas, wir mischen auch VFP und XBase++ Bisher keine Probleme. Bei VFP haben wir keine Besonderen Einstellungen. Welche VFP Version verwendest Du? Die Ausgabe von sys(2029, 1) ist bei und auch 245. Hier ein Auszug aus dem XBase++ Programm (vielleicht hilft's ja) *-- Schnipp ----------------------------------------------------------- *-- Treiber fr DBF Tabellen laden IF ! DbeLoad( "FOXDBE", .T.) Alert( "Database-Engine FOXDBE nicht geladen" , {"OK"} ) ENDIF *-- Treiber fr CDX Indexdateien laden IF ! DbeLoad( "CDXDBE",.T.) Alert( "Database-Engine CDXDBE nicht geladen" , {"OK"} ) ENDIF IF ! DbeBuild( "FOXCDX", "FOXDBE", "CDXDBE" ) Alert( "FOXCDX Database-Engine;konnte nicht erzeugt werden" , {"OK"} ) ENDIF *-- Auf FoxPro CDX Dateien umschalten DbeSetDefault( "FOXCDX" ) *-- Lock Mode fr CLIPPER Offset anpassen DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE,FOXDBE_LOCKMODE_VISUAL) *-- Indexsortierung anpassen DbeInfo( COMPONENT_ORDER,CDXDBE_MODE,CDXDBE_FOXPRO2X) *-- Schnapp ---------------------------------------------------------- HTH Wolfgang | |
Andreas E. | Re: XBase und Visual FoxPro - Defekte Indexdateien. on Mon, 04 Sep 2006 12:00:49 +0200 Hallo Wolfgang, das Fremdprogramm luft unter VFP 8, wenn ich mich nicht tusche. Kannst du mir bitte die DBEINFO-Einstellungen von dir erklren, wieso du die so eingstellt hast? Weisst du, was diese Ausgabe von sys(2029, 1) = 245 bedeutet. Welche Version der FoxPro-Dateien ist es denn? Ich habe versucht, deine DBEINFO-Zeilen einzubauen. Mein Programm bleibt bei diesen Zeilen stehen und erzeugt grosse CPU-Last. Andreas "Wolfgang Pasler" <wolfgang@pasler-software.de> schrieb im Newsbeitrag news:58534135$23b3845a$1ea455@news.alaska-software.com... Hallo Andreas, wir mischen auch VFP und XBase++ Bisher keine Probleme. Bei VFP haben wir keine Besonderen Einstellungen. Welche VFP Version verwendest Du? Die Ausgabe von sys(2029, 1) ist bei und auch 245. Hier ein Auszug aus dem XBase++ Programm (vielleicht hilft's ja) *-- Schnipp ----------------------------------------------------------- *-- Treiber fr DBF Tabellen laden IF ! DbeLoad( "FOXDBE", .T.) Alert( "Database-Engine FOXDBE nicht geladen" , {"OK"} ) ENDIF *-- Treiber fr CDX Indexdateien laden IF ! DbeLoad( "CDXDBE",.T.) Alert( "Database-Engine CDXDBE nicht geladen" , {"OK"} ) ENDIF IF ! DbeBuild( "FOXCDX", "FOXDBE", "CDXDBE" ) Alert( "FOXCDX Database-Engine;konnte nicht erzeugt werden" , {"OK"} ) ENDIF *-- Auf FoxPro CDX Dateien umschalten DbeSetDefault( "FOXCDX" ) *-- Lock Mode fr CLIPPER Offset anpassen DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE,FOXDBE_LOCKMODE_VISUAL) *-- Indexsortierung anpassen DbeInfo( COMPONENT_ORDER,CDXDBE_MODE,CDXDBE_FOXPRO2X) *-- Schnapp ---------------------------------------------------------- HTH Wolfgang | |
Wolfgang Pasler | Re: XBase und Visual FoxPro - Defekte Indexdateien. on Mon, 04 Sep 2006 14:15:00 +0200 Hallo Andreas, Der Rückgabewert aus SYS(2029, 1) bedeutet, dass Du eine Foxpro / Clipper Tabelle geöffnet hast, welche ein Memofeld enthält. An dem Wert würde ich mich aber nicht aufhalten, denn wenn VFP die Tabelle öffnen kann ist ja alles in Ordnung. Die Version deines Foxproprogrammes kannst du am besten anhand der Runtimes feststellen. Suche mal eine Datei namens VFP7r.DLL, VFP8r.DLL oder VFP9r.DLL. (Liegt normalerweise im Verzeichnis c:\Programme\Gemeinsame Dateien\Microsoft Shared\VFP\. Die Ziffer ist die Versionsnummer. Ich weis das es mit VFP7 Probleme mit den Indexdateien gegeben hat. Diese sind aber ab Version 8 behoben. Nun zu meinem Quellcode (Der bei mir keine CPU Last erzeugt) Die ersten 15 Zeilen sind aus der Alaska Xbase++ Hilfe kopiert (suche nach DbeLoad()) Die nachfolgende Zeile sorgt dafür das Satzsperren unter Clipper/Xbase und Foxpro kompatibel sind. (kannst du vielleicht auch weglassen) DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE,FOXDBE_LOCKMODE_VISUAL) *-- Indexsortierung anpassen siehe Hilfe (kannst du vielleicht auch weglassen) DbeInfo( COMPONENT_ORDER,CDXDBE_MODE,CDXDBE_FOXPRO2X) HTH Wolfgang | |
Andreas E. | Re: XBase und Visual FoxPro - Defekte Indexdateien. on Fri, 15 Sep 2006 11:02:19 +0200 Ich habe die Lsung gefunden, die unter http://www.xbaseforum.de/viewtopic.php?p=6446#6446 zu finden ist. Andreas Engler "Wolfgang Pasler" <wolfgang@pasler-software.de> schrieb im Newsbeitrag news:5aacd8db$7db17358$1ee6a0@news.alaska-software.com... Hallo Andreas, Der Rckgabewert aus SYS(2029, 1) bedeutet, dass Du eine Foxpro / Clipper Tabelle geffnet hast, welche ein Memofeld enthlt. An dem Wert wrde ich mich aber nicht aufhalten, denn wenn VFP die Tabelle ffnen kann ist ja alles in Ordnung. Die Version deines Foxproprogrammes kannst du am besten anhand der Runtimes feststellen. Suche mal eine Datei namens VFP7r.DLL, VFP8r.DLL oder VFP9r.DLL. (Liegt normalerweise im Verzeichnis c:\Programme\Gemeinsame Dateien\Microsoft Shared\VFP\. Die Ziffer ist die Versionsnummer. Ich weis das es mit VFP7 Probleme mit den Indexdateien gegeben hat. Diese sind aber ab Version 8 behoben. Nun zu meinem Quellcode (Der bei mir keine CPU Last erzeugt) Die ersten 15 Zeilen sind aus der Alaska Xbase++ Hilfe kopiert (suche nach DbeLoad()) Die nachfolgende Zeile sorgt dafr das Satzsperren unter Clipper/Xbase und Foxpro kompatibel sind. (kannst du vielleicht auch weglassen) DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE,FOXDBE_LOCKMODE_VISUAL) *-- Indexsortierung anpassen siehe Hilfe (kannst du vielleicht auch weglassen) DbeInfo( COMPONENT_ORDER,CDXDBE_MODE,CDXDBE_FOXPRO2X) HTH Wolfgang |