ich habe meinem DBF -> PG "Import" umgebaut und die "__"fields, welche pgDBE verwendet, übernommen.
vorher hatte ich von Edgar ein Field "id"
Code: Alles auswählen
cQuery := "CREATE TABLE " + xtab + " (id numeric(6) NOT NULL default '0', "
aStrut := dbStruct()
cInser := "INSERT INTO " + xtab + " (id"
for i = 1 to len(aStrut)
cQuery := cQuery + aStrut[i,1]
cInser := cInser + ", " + aStrut[i,1]
do case
case aStrut[i,2] = "C"
cQuery := cQuery + " character(" + alltrim(str(aStrut[i,3])) + "), "
case aStrut[i,2] = "N"
cQuery := cQuery + " numeric(" + alltrim(str(aStrut[i,3])) + ',' + alltrim(str(aStrut[i,4])) + "), "
case aStrut[i,2] = "D"
cQuery := cQuery + " date, "
case aStrut[i,2] = "M"
cQuery := cQuery + " text, "
endcase
next // len(aStrut)
cQuery := cQuery + "PRIMARY KEY (id) ) "
nun möchte ich das auf __record ändern und hab den Code so abgeändert :
Code: Alles auswählen
cQuery := "CREATE TABLE " + xtab + " ( "
for i = 1 to len(aStrut)
...
next // len(aStrut)
//
// from "id" change to "__record"
//
// add "internal" Fields
//
cQuery += " __deleted boolean NOT NULL DEFAULT false"+", "
cQuery += " __record serial PRIMARY KEY NOT NULL"+", "
cQuery += " __rowversion integer NOT NULL DEFAULT 0"+", "
cQuery += " __keyversion integer NOT NULL DEFAULT 0"+", "
cQuery += " __lock_owner integer NOT NULL DEFAULT 0 "
cQuery += ")" // NEED
*cQuery += ";" // hm ... nur für den Interperter statt "ENTER"
einen einzelnen Record übertrage ich soDBF : E:\Alaska\XPPYIU\DATEN\FSICHER RDD : DBFNTX -> Table : FSICHER3
use DBF E:\Alaska\XPPYIU\DATEN\FSICHER VIA DBFNTX
Create Table FSICHER3
CREATE TABLE FSICHER3 ( FKDNR character(5), FMONAT character(2), FNUMMER numeric(5,0), FARTNR character(5), FARTIKEL character(30), FANZAHL numeric(7,2),FEINH character(3), BPREIS numeric(8,2), FSTUECK character(10), FMWST numeric(2,0), MSCHL character(1), FPREIS numeric(8,2), SKONTO numeric(5,2), FJAHR character(2), FFTAG character(2), FFMONAT character(2), FFJAHR character(2), FTEXT character(40), DFLAG character(1), LIEFNR character(5), LFLAG character(1), RECHWAHL character(1), AQNR character(9),
__deleted boolean NOT NULL DEFAULT false,
__record serial PRIMARY KEY NOT NULL,
__rowversion integer NOT NULL DEFAULT 0,
__keyversion integer NOT NULL DEFAULT 0,
__lock_owner integer NOT NULL DEFAULT 0 );
finish after 774.81 Sec. for 560818 Records = 723.81
Code: Alles auswählen
//
// add default
//
cIns += "false"+", " // "__deleted"
cIns += LTRIM(STR( nCount,7) )+"," // "__record"
cIns += "0"+", " // "__rowversion"
cIns += "0"+", " // "__keyversion"
cIns += "0" // "__lock_owner"
cIns += ")"
jedes "INSERT" sieht so aus
er läuft damit auch durch und ich kann mit PGu.EXE die Table öffnen/browsen/editieren/savenINSERT INTO FSICHER3 VALUES( '24415', '05', 1024, '2309E', 'Curry, Englisch', 1.00, 'Pkt', 9.95, '1kg', 7, '2', 9.95, 0.00, '12', '04', '05', '12', 'Liefer Datum vom 04.05.12', 'N', '01198', 'L', '', '201201688',false,560818,0,0,0 )
aber ich bekomme keine Anzeige wenn ich die jetzt mit pgAdmin.EXE browse ... ja er sagt/"zählt" 560818 Records ...
wer kann mir einen Tip geben warum pgAdmin.EXE beim Browse abbricht ?
p.s. ich habe den Import sowohl unter "middemo" (pgDBE) als auch unter "Vendas" (Edgar) durchgeführt