Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PROGRAM
- MAP
- CheckError(),LONG
- END
- SourceName STRING(260)
- TargetName STRING(260)
- Count ULONG
- Count2 ULONG
- Count3 ULONG
- inc ULONG
- sqldbc FILE,DRIVER('TOPSPEED'),PRE(SQL),CREATE,BINDABLE,THREAD
- Keysystem KEY(SQL:system),NOCASE,OPT
- Record RECORD,PRE()
- system STRING(10)
- connect STRING(60)
- END
- END
- !BLOBS1 FILE,DRIVER('TOPSPEED'),OWNER('aase'),ENCRYPT,NAME(SourceName),PRE(IN),BINDABLE,THREAD
- BLOBS1 FILE,DRIVER('TOPSPEED'),NAME(SourceName),OWNER('aase'),PRE(IN),ENCRYPT
- BY_NR_RAPN KEY(+IN:TNR),OPT,NOCASE,PRIMARY
- By_Inr KEY(-IN:INR),DUP,OPT,NOCASE
- FILE BLOB,BINARY
- RECORD RECORD!, PRE()
- IBRUG BYTE
- TNR LONG
- EDITOR STRING(40)
- INR LONG
- OpDato LONG
- OpTid LONG
- Eksport1 BYTE
- Eksport2 BYTE
- Eksport3 BYTE
- SDATO LONG
- SKL LONG
- SINIT STRING(4)
- END
- END
- !BLOBS2 FILE,DRIVER('MSSQL'),OWNER(TargetName),PRE(STO),CREATE,BINDABLE,THREAD !
- BLOBS2 FILE,DRIVER('MSSQL'),NAME(TargetName),CREATE,OWNER(sql:connect),PRE(STO)
- BY_NR_RAPN KEY(+STO:TNR),OPT,NOCASE,PRIMARY
- By_Inr KEY(-STO:INR),DUP,OPT,NOCASE
- FILE BLOB,BINARY
- RECORD RECORD!, PRE()
- IBRUG BYTE
- TNR LONG
- EDITOR STRING(40)
- INR LONG
- OpDato LONG
- OpTid LONG
- Eksport1 BYTE
- Eksport2 BYTE
- Eksport3 BYTE
- SDATO LONG
- SKL LONG
- SINIT STRING(4)
- END
- END
- !indsat
- !Access:BLOBS2 &FileManager,THREAD
- !
- PROGRESS WINDOW('Converting File'),AT(,,124,58),CENTER,GRAY,FONT('MS Sans Serif',8), |
- DOUBLE
- STRING('Læst fra TPS'),AT(4,13)
- STRING(@n8),AT(77,13,34,12),USE(Count)
- STRING('Skrevet til SQL'),AT(4,26,69,10),USE(?STRING2)
- STRING(@n8),AT(77,24,34,12),USE(Count2)
- STRING('STO:TNR'),AT(4,39,69,10),USE(?STRING2:2)
- STRING(@n8),AT(77,37,34,12),USE(STO:TNR)
- END
- CODE
- open(sqldbc)
- sql:system = 'database'
- get(sqldbc,sql:keysystem)
- SourceName = 'BLOBS'
- TargetName = 'BLOBS'
- OPEN(BLOBS1)
- IF CheckError() THEN RETURN.
- SET(BLOBS1)
- CREATE(BLOBS2)
- IF CheckError() THEN RETURN.
- OPEN(BLOBS2)
- IF CheckError() THEN RETURN.
- ! STREAM(BLOBS1)
- ! STREAM(BLOBS2)
- OPEN(Progress)
- LOOP
- NEXT(BLOBS1)
- IF ErrorCode() = 33 THEN BREAK .
- ! IF IN:INR = 0 THEN
- ! Count += 1
- ! CYCLE .
- CLOSE(BLOBS1)
- OPEN(BLOBS1)
- SET(BLOBS1, count + 1)
- DO AssignRecord
- Count += 1
- GET(BLOBS2, STO:BY_NR_RAPN)
- IF ErrorCode() THEN
- If ErrorCode() <> 35 THEN
- MESSAGE(ErrorCode(),'error code, append')
- END
- ADD(BLOBS2)
- !indsat
- !access:blobs2.tryinsert()
- !
- Count2 += 1
- IF CheckError() THEN RETURN
- END
- END
- DISPLAY(?Count)
- DISPLAY(?Count2)
- DISPLAY(?STO:TNR)
- END
- ! FLUSH(BLOBS1)
- ! FLUSH(BLOBS2)
- BUILD(BLOBS2)
- IF CheckError() THEN RETURN.
- CLOSE(BLOBS1)
- CLOSE(BLOBS2)
- ! OPEN(Progress)
- ! LOOP
- ! NEXT(BLOBS1)
- ! IF ErrorCode() = 33 THEN BREAK.
- ! DO AssignRecord
- ! APPEND(BLOBS2)
- ! IF CheckError() THEN RETURN.
- ! Count += 1
- ! DISPLAY(?Count)
- ! END
- !
- ! FLUSH(BLOBS1)
- ! FLUSH(BLOBS2)
- !
- ! BUILD(BLOBS2)
- ! IF CheckError() THEN RETURN.
- ! CLOSE(BLOBS1)
- ! CLOSE(BLOBS2)
- !
- ! !COPY(BLOBS2,'BLOBS')
- ! !REMOVE(BLOBS2)
- AssignRecord ROUTINE
- CLEAR(STO:Record)
- STO:IBRUG = IN:IBRUG
- STO:TNR = IN:TNR
- STO:EDITOR = IN:EDITOR
- STO:INR = IN:INR
- STO:OPDATO = IN:OPDATO
- STO:OPTID = IN:OPTID
- STO:EKSPORT1 = IN:EKSPORT1
- STO:EKSPORT2 = IN:EKSPORT2
- STO:EKSPORT3 = IN:EKSPORT3
- STO:SDATO = IN:SDATO
- STO:SKL = IN:SKL
- STO:SINIT = IN:SINIT
- STO:RECORD :=: IN:RECORD
- ! = IN:IBRUG
- ! = IN:TNR
- ! = IN:EDITOR
- ! = IN:INR
- ! = IN:OPDATO
- ! = IN:OPTID
- ! = IN:EKSPORT1
- ! = IN:EKSPORT2
- ! = IN:EKSPORT3
- ! = IN:SDATO
- ! = IN:SKL
- ! = IN:SINIT
- STO:FILE{PROP:Handle} = IN:FILE{PROP:Handle}
- STO:FILE{PROP:Size} = IN:FILE{PROP:Size}
- CheckError FUNCTION
- CODE
- IF ERRORCODE() THEN
- IF ERRORCODE() = 90 THEN
- IF MESSAGE('Error: '& FILEERROR()) THEN
- RETURN ERRORCODE()
- END
- ELSE
- IF MESSAGE('Error: '& ERROR()) THEN
- RETURN ERRORCODE()
- END
- END
- END
- RETURN 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement