GARANTIR DESCONTO

Fórum Exibindo documento Word gravado em campo Blob do Oracle #225670

13/04/2004

0

Em uma determina tabela de BD do Oracle existe um campo Blob onde são gravados documentos Word como OleVariant. no Entando na hora de pegar esses documentos de volta e exibi-los está dando erro! o codigo que estou tentando usar é o seguinte:

var Doc: OLEVariant;
Doc := ClientDataSet1.Fields[0].AsVariant; {Campo onde esta o documento word}
Word2k.Documents.Add(Doc, Doc, ´Word.Application´, True); {Adicionando o documento a um WordApplication}

Nao sei se os parametros para o Word2k.Documents.Add são assim pois nao achei nenhum help desse metodo. Quem souber como fazer isso por favor me mostre estarei esperando.


Maxwell_monteiro

Maxwell_monteiro

Responder

Posts

14/04/2004

Martins_vicente

Caro Maxwell,

Segue abaixo uma rotina para descarregar arquivos gravados em campo BLOB do banco (talvez dê para adaptar a sua necessidade :idea: ):

blob := seuDataset.CreateBlobStream(seuDataset.FieldByName(´CAMPO_BLOB´), bmRead);
try
blob.Seek(0, soFromBeginning);

with TFileStream.Create(´c:\documento.doc´, fmCreate) do
try
CopyFrom(blob, blob.Size)
finally
Free
end;
finally
blob.Free
end;

Boa sorte!


Responder

Gostei + 0

14/04/2004

Martins_vicente

Ahh...

Esqueci de mencionar: a variavel BLOB é do tipo TStream e não TBlobStream e para carregar o documento depois é só usar o ShellExecute!

falow!


Responder

Gostei + 0

16/04/2004

Maxwell_monteiro

Tente mais essa:
para colocar o arquivo no banco:
TBlobField(seudataset.fieldbyname(´sua_chave´)).LoadFromFile(´c:\teste.doc´);

para tirar o arquivo do banco:
TBlobField(seudataset.fieldbyname(´sua_chave´)).SaveToFile(´c:\teste.doc´);

Quanto ao DOA (Direct Oracle Access): é uma ótima suite de componentes para acesso nativo ao Oracle.

Site do desenvolvedor:
http://www.allroundautomations.com

Site do distribuidor no Brasil:
http://www.dbmaster.com.br/


Responder

Gostei + 0

16/06/2004

Flávio Castro

Tente mais essa: para colocar o arquivo no banco: TBlobField(seudataset.fieldbyname(´sua_chave´)).LoadFromFile(´c:\teste.doc´); para tirar o arquivo do banco: TBlobField(seudataset.fieldbyname(´sua_chave´)).SaveToFile(´c:\teste.doc´); Quanto ao DOA (Direct Oracle Access): é uma ótima suite de componentes para acesso nativo ao Oracle. Site do desenvolvedor: http://www.allroundautomations.com Site do distribuidor no Brasil: http://www.dbmaster.com.br/




ok.. estou com um problema parecido... em uma tabela do oracle eu gravo imagens, *.doc, *.pdf, *.htm, *.txt... em um campo do oracle Long Raw... . Para visualizar utilizo os metódos de savetofile e shellexecuta para mostrar. Agora vem o problema. Como essa tabela serve de base de dados de currículos, qual o melhor método para pesquisar esses currículos gravados, através de SQL ou através de PL/SQL??


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar