Seite 1 von 1
XBASE und Comix RDD
Verfasst: Mo, 17. Okt 2011 15:29
von Eckhard Sallermann
Mahlzeit,
da kommt sogleich eine neue Frage eines XBASE-Anfängers.
Ich habe mal ein Testprogramm geschrieben, einmal in Clipper 5.2e + Comix RDD, das gleiche Programm auch mit XBASE++
Beide Programme schreiben in eine DBF-Datei ( testdatei ) diese hat Indexdateien und auch ein
Memofeld
Die XBASE-App stürtzt sporadisch mit einem Lesefehler ab, die Kompatibilät sollte doch eigentlich zum Clipper gegeben sein.
Hat jemand von euch eine Idee, woran das liegen kann ?
Gruß Ecki
Hier mal der XBASE-Code:
Code: Alles auswählen
PROCEDURE Main
local cpath := "\\srvfs01\testdaten\"
local nrecs := 0
local ntotal := 100000
local ndummy := 0
SET COLLATION TO GERMAN
SET CHARSET TO OEM
clear screen
use ( cpath + "testdbf" ) new shared
dbsetorder(1)
for nrecs := 1 to ntotal
@ 10,10 say str( nrecs * 100 / ntotal ,6,2) + " %"
testdbf->(dbappend())
while !testdbf->(rlock())
enddo
replace testdbf->nummer with testdbf->(recno())
replace testdbf->name with "winxp89"
replace testdbf->datum with date()
replace testdbf->zeit with time()
replace testdbf->finfo with "Dies ist Datensatz Nummer " + ltrim(str(testdbf->nummer))
testdbf->(dbcommit())
testdbf->(dbunlock())
ndummy := inkey()
if lastkey() = 27 .or. nextkey() = 27
exit
endif
next nrecs
return
PROCEDURE DbeSys
#include "xbp.ch"
#include "dll.ch"
#include "appevent.ch"
#include 'common.ch'
#include 'std.ch'
#include 'set.ch'
#include "xbp.ch"
#include "foxdbe.ch"
#include "Dbfdbe.ch"
#include "cdxdbe.ch"
IF ! DbeLoad( "FOXDBE" , .T.)
? "nicht geladen"
else
? "Geladen"
ENDIF
IF ! DbeLoad( "CDXDBE" , .T.)
? "nicht geladen"
else
? "Geladen"
ENDIF
IF ! DbeBuild( "FOXCDX" , "FOXDBE" , "CDXDBE" )
? "nicht geladen"
else
? "Geladen"
ENDIF
DbeSetDefault("FOXCDX")
DbeInfo(COMPONENT_ORDER , CDXDBE_MODE , CDXDBE_COMIX )
DbeInfo(COMPONENT_ORDER , FOXDBE_MEMOBLOCKSIZE , 64 )
DbeInfo(COMPONENT_ORDER , DBE_LOCKMODE , LOCKING_STANDARD )
DbeInfo(COMPONENT_ORDER , FOXDBE_LOCKRETRY , 100000 )
DbeInfo(COMPONENT_ORDER , FOXDBE_LOCKDELAY , 15 )
DbeInfo(COMPONENT_ORDER , CDXDBE_LOCKRETRY, 100000 )
DbeInfo(COMPONENT_ORDER , CDXDBE_LOCKDELAY , 15 )
RETURN
Re: XBASE und Comix RDD
Verfasst: Mo, 17. Okt 2011 15:51
von UliTs
Hallo Ecki,
kannst Du bitte deine Nachricht editieren und den Quellcode mittels "Code" einrahmen? Dadurch wird er hoffentlich lesbarer
.
Uli
Re: XBASE und Comix RDD
Verfasst: Mo, 17. Okt 2011 15:52
von Jan
Mir fehlt da eher die Fehlermeldung.
Jan
Re: XBASE und Comix RDD
Verfasst: Mo, 17. Okt 2011 15:53
von brandelh
Hi,
formatiert habe ich, aber mit comix habe ich keine Erfahrungen
Re: XBASE und Comix RDD
Verfasst: Mo, 17. Okt 2011 15:57
von Eckhard Sallermann
Hi Uli, ich werde versuchen, das beim nächsten Mal zu berücksichtigen, wusste noch nicht, dass bzw. wie das geht
UliTs hat geschrieben:Hallo Ecki,
kannst Du bitte deine Nachricht editieren und den Quellcode mittels "Code" einrahmen? Dadurch wird er hoffentlich lesbarer
.
Uli
Re: XBASE und Comix RDD
Verfasst: Mo, 17. Okt 2011 15:59
von Eckhard Sallermann
Code: Alles auswählen
oError:args :
-> VALTYPE: N VALUE: 33776
oError:canDefault : N
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Fehler beim Lesen
oError:filename :
oError:genCode : 73
oError:operation : <NUMMER>:=<33776>
oError:osCode : 0
oError:severity : 2
oError:subCode : 8999
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
Re: XBASE und Comix RDD
Verfasst: Mo, 17. Okt 2011 16:06
von Eckhard Sallermann
Dazu noch folgendes: wenn ich die DBF + Index mit XBASE++ erzeuge dann kann meine Clipper-App die DBF nicht mal öffnen, meldet gleich, dass die korrupt sei
Re: XBASE und Comix RDD
Verfasst: Mo, 17. Okt 2011 16:21
von brandelh
Ich meine dass man für die COMIX CLIPPER Kompatibilität die FOXCDX oder FOXDBE ff. speziell einstellen muss.
Da steht sowas in der Hilfe zur FOXDBE bzw. FOXCDX oder bei den Hinweisen für Clipper Programmierer, irgendwo habe ich sowas gelesen.
Allerdings mangels Bedarf auch gleich überflogen
Re: XBASE und Comix RDD
Verfasst: Mo, 17. Okt 2011 17:12
von Eckhard Sallermann
Tach Hubert, mal schauen, ich habe das hier gefunden:
DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .T. )
DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE , FOXDBE_LOCKMODE_CLIPPER )
Jetzt teste ich mal . . . .
brandelh hat geschrieben:Ich meine dass man für die COMIX CLIPPER Kompatibilität die FOXCDX oder FOXDBE ff. speziell einstellen muss.
Da steht sowas in der Hilfe zur FOXDBE bzw. FOXCDX oder bei den Hinweisen für Clipper Programmierer, irgendwo habe ich sowas gelesen.
Allerdings mangels Bedarf auch gleich überflogen
Re: XBASE und Comix RDD
Verfasst: Mo, 17. Okt 2011 17:27
von AUGE_OHR
Eckhard Sallermann hat geschrieben:Tach Hubert, mal schauen, ich habe das hier gefunden:
DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .T. )
DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE , FOXDBE_LOCKMODE_CLIPPER )
Jetzt teste ich mal . . . .
YUP die verwende ich auch, aber das ist "nur" die COMPONENT_
DATA Einstellung für die DBF .
Für den Index musst du noch die COMPONENT_
ORDER setzen.
Code: Alles auswählen
DbeInfo(COMPONENT_ORDER, CDXDBE_MODE,CDXDBE_FOXPRO2X )
Re: XBASE und Comix RDD
Verfasst: Mo, 17. Okt 2011 17:52
von Eckhard Sallermann
Sollte der nicht so lauten ?
DbeInfo(COMPONENT_ORDER , CDXDBE_MODE , CDXDBE_COMIX )
AUGE_OHR hat geschrieben:Eckhard Sallermann hat geschrieben:Tach Hubert, mal schauen, ich habe das hier gefunden:
DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .T. )
DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE , FOXDBE_LOCKMODE_CLIPPER )
Jetzt teste ich mal . . . .
YUP die verwende ich auch, aber das ist "nur" die COMPONENT_
DATA Einstellung für die DBF .
Für den Index musst du noch die COMPONENT_
ORDER setzen.
Code: Alles auswählen
DbeInfo(COMPONENT_ORDER, CDXDBE_MODE,CDXDBE_FOXPRO2X )
Re: XBASE und Comix RDD
Verfasst: Mo, 17. Okt 2011 17:53
von brandelh
Im Zweifel ausprobieren (mit Spieldaten natürlich)
Re: XBASE und Comix RDD
Verfasst: Mo, 17. Okt 2011 18:00
von Eckhard Sallermann
Muss denn eigentlich in der Registry noch etwas Anderes eingestellt werden ?
Da gab es doch etwas mit Locking ?
Re: XBASE und Comix RDD
Verfasst: Mo, 17. Okt 2011 18:02
von Eckhard Sallermann
Ja super, jetzt gibt`s nen Crach bei dbcommit()
Code: Alles auswählen
oError:args :
oError:canDefault : J
oError:canRetry : N
oError:canSubstitute: N
oError:cargo : NIL
oError:description : D
oError:filename :
oError:genCode : 8999
oError:operation : DbCommit
oError:osCode : 0
oError:severity : 2
oError:subCode : 0
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
Re: XBASE und Comix RDD
Verfasst: Mo, 17. Okt 2011 18:24
von AUGE_OHR
Eckhard Sallermann hat geschrieben:Sollte der nicht so lauten ?
DbeInfo(COMPONENT_ORDER , CDXDBE_MODE , CDXDBE_COMIX )
siehe mal in die CDXDBE.CH
es ist also das "selbe"
du hattest die COMPONENT_
ORDER ja schon in deiner ersten Msg gezeigt.
verwende wenn möglich die "default" Werte d.h. du musst die nicht Werte extra eintragen.
Re: XBASE und Comix RDD
Verfasst: Mo, 17. Okt 2011 18:25
von AUGE_OHR
Eckhard Sallermann hat geschrieben:Ja super, jetzt gibt`s nen Crach bei dbcommit()
typische
8999 Fehler ... such mal im Forum nach
8999
was für ein OS() verwendest du ? Netzwerk ?
Re: XBASE und Comix RDD
Verfasst: Di, 18. Okt 2011 8:43
von brandelh
Hallo,
du solltest auch mal die Alaska KB durchsuchen FullTextSearch nach der Fehlernummer und nach COMIX
http://www.alaska-software.com/KB
Re: XBASE und Comix RDD
Verfasst: Di, 18. Okt 2011 9:05
von Eckhard Sallermann
Comix-CDX-Driver cannot open CDX-Files created by Xbase++.
Sosultion: No Workaround for this problem known!
Re: XBASE und Comix RDD
Verfasst: Di, 18. Okt 2011 9:07
von brandelh
Funktioniert es, wenn du die Indexdateien NUR im Clipperprogramm erstellen läßt ?
Re: XBASE und Comix RDD
Verfasst: Di, 18. Okt 2011 9:08
von Eckhard Sallermann
Nein, egal, ob ich die Dateien mit Clipper oder XBASE erstelle
Scheinbar taucht das Problem nur im Zusammenhanh mit Memofeldern auf
Re: XBASE und Comix RDD
Verfasst: Di, 18. Okt 2011 9:11
von Eckhard Sallermann
Doch nicht, auc, wenn kein Memofeld dabei ist gibt´s einen 8999
Re: XBASE und Comix RDD
Verfasst: Di, 18. Okt 2011 9:12
von Eckhard Sallermann
Clipper 5.2e + COMIX
Egal, ob die DBF + CDX +FPT auf einem Novellserver oder auf einen Windowsserver liegen, der Fehler taucht immer auf
Workstation ist für XBASE ein Windows 7 Professional SP 1 , neuester Patchstand
AUGE_OHR hat geschrieben:Eckhard Sallermann hat geschrieben:Ja super, jetzt gibt`s nen Crach bei dbcommit()
typische
8999 Fehler ... such mal im Forum nach
8999
was für ein OS() verwendest du ? Netzwerk ?
Re: XBASE und Comix RDD
Verfasst: Di, 18. Okt 2011 10:54
von Eckhard Sallermann
Ah, habe noch mal geschaut, wenn ein FoxProkompatibles Lockingverfahren benutzt werden soll, dann muss man noch das CMXFOX52 vom Comix in Clipper einbinden.
Bisher schaut das gut aus
Re: XBASE und Comix RDD
Verfasst: Di, 18. Okt 2011 14:27
von Eckhard Sallermann
Nach Einbinden von CMXFOX52.OBJ in meine Clipper-App läuft es bisher super
Die DBF darf allerdings scheinbar nur von XBASE erstellt werden ( dbcreate ) , erstelle ich die DBF mit Clipper, so können nicht Beide ( XBASE + Clipper )
in die DBF schreiben, geht also nur, wenn XBASE die DBF erstellt hat