|
Tenho um sistema que faz a mesma coisa, s�
muda o formado do arquivo, por�m para a rotina centura e para o banco,
tanto faz, pois abro o arquivo no formato bin�rio, e gravo no Oracle em um campo
LONG RAW, na �poca, fiz alguns testes e funcionou com qualquer arquivo e � bem
r�pido, tanto a ida como a volta.
Eu acho esta forma, al�m de gen�rica, mais
simples.
Para gravar no banco, uso esta rotina:
!!CB!! 129
! !!! Grava��o do Arquivo no Banco de Dados Call SalFileOpen(hFileSaida,sCaminhoGeral || psPlaca || ".cip",OF_Binary | OF_Read) Call SalFileSeek ( hFileSaida, 0, FILE_SeekEnd ) Set nTam= SalFileTell(hFileSaida) Call SalFileSeek ( hFileSaida, 0, FILE_SeekBegin ) Call SalFileRead(hFileSaida,sLongData,nTam) Call SqlPrepare(hSqlGenerico," INSERT INTO T_ARQ_GERADO(CD_DADOS,NU_SEQ_HIST,CD_PARTE) VALUES(:sLongData,:nSeqHist,1) ") Call SqlSetLongBindDatatype( 1, 23 ) Call SqlExecute(hSqlGenerico) Call SqlCommit(hSqlGenerico) Call SalFileClose(hFileSaida) Set hFileSaida=hWndNULL Onde sLongData � uma vari�vel do tipo Long String,
por isso tamb�m tenho que utilizar a fun��o Call SqlSetLongBindDatatype( 1, 23
).
Para ler, uso esta:
!!CB!! 70
Call SalFileOpen(hFileVolta,sCaminhoGeral || 'temp.$$$', OF_Create | OF_Binary | OF_ReadWrite) ! ---Leitura Set strLongBanco=STRING_Null Call SqlPrepare(hSqlGenerico," SELECT CD_DADOS INTO :strLongBanco FROM T_ARQ_GERADO WHERE NU_SEQ_HIST=:nNuSeqHist ") Call SqlSetLongBindDatatype( 1, 23 ) Call SqlExecute(hSqlGenerico) Call SqlFetchNext(hSqlGenerico,nRet) If strLongBanco != STRING_Null Set nTamanho = SalStrGetBufferLength(strLongBanco) Call SalFileWrite(hFileVolta,strLongBanco,nTamanho) ! --- Monta Call SalFileClose(hFileVolta) Copio um arquivo do disco, mando para o banco e
depois posso copiar do banco para o disco, sem me preocurar com o
tipo.
|
- [sqlwin] Arquivo PDF salvo no Oracle com o Centura. icbcunha
- Re: [sqlwin] Arquivo PDF salvo no Oracle com o Centu... Anderson Martins
- Re: [sqlwin] Arquivo PDF salvo no Oracle com o Centu... Ricardo Oliveira
- Re: [sqlwin] Arquivo PDF salvo no Oracle com o Centu... Ricardo Gomes
