Alaska Software Inc. - XBase und Visual FoxPro - Defekte Indexdateien.
Username: Password:
AuthorTopic: 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 fr DBF Tabellen laden
IF ! DbeLoad( "FOXDBE", .T.)
   Alert( "Database-Engine FOXDBE nicht geladen" , {"OK"} )
ENDIF

*-- Treiber fr 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 fr 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