rei_do_delphi, eu nunca usei Oracle nem Odac, posta sua dúvida no Forum do
Odac que certamente vc vai ter resposta
http://www.crlab.com/forums/viewforum.php?f=5&sid=0e4d81bf383e97fe88fe6078f9a48893

o suporte da corelab é muito bom, geralmente de um dia pro outro eles
respondem.

vai lá que vc não vai se arrepender e espero que alguém daqui dê uma luz.

Em 17/10/07, rei_do_delphi <[EMAIL PROTECTED]> escreveu:
>
>   gente, será que nunca ninguém passou por isso para poder me ajudar?
>
> --- Em delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>,
> "rei_do_delphi"
> <[EMAIL PROTECTED]> escreveu
> >
> > Alguém aí ja utilizou campo blob com objeto memo? salvando o
> > conteúdo do objeto memo em campo blob?
> >
> > estou usando ORacle 10g XE e tenho uma tabela com campo blob:
> >
> > CREATE TABLE "MAXIMO"."TB_DVD"
> > ( "CODDVD" NUMBER NOT NULL ENABLE,
> > "CODBARRAS" VARCHAR2(13 BYTE) DEFAULT NULL,
> > "TITULO" VARCHAR2(50 BYTE) NOT NULL ENABLE,
> > "ANO_LANCTO" NUMBER(4,0) DEFAULT NULL,
> > "SIST_COR" VARCHAR2(5 BYTE) DEFAULT NULL,
> > "REGIAO" NUMBER(1,0) DEFAULT 4,
> > "TITULO_ORIG" VARCHAR2(50 BYTE) DEFAULT 'DESCONHECIDO' NOT
> > NULL ENABLE,
> > "DOC" CHAR(1 BYTE) DEFAULT 'F',
> > "DIRETOR" NUMBER DEFAULT null,
> > "TIPO" NUMBER DEFAULT null,
> > "SINOPSE" BLOB,
> > CONSTRAINT "PK_DVD" PRIMARY KEY ("CODDVD"))
> >
> > tenho uma procedure, que deveria adicionar gravar os dados nessa
> > tabela, e grava tudo certo, mas quando chega no campo blob, fica em
> > nulo:
> >
> > create or replace
> > PROCEDURE "PRO_ADD_DVD2" ( P_CODBARRAS IN VARCHAR2,P_TITULO
> > IN VARCHAR2,
> > P_TITULO_ORIG IN VARCHAR2,P_ANOLANCTO IN NUMBER, P_SISTCOR IN
> > VARCHAR2,
> > P_DIRETOR IN NUMBER,P_GENERO IN NUMBER,P_REGIAO IN VARCHAR2,
> > P_DOC IN VARCHAR2,P_SINOPSE IN BLOB,P_RET OUT VARCHAR2)
> > AS
> > V_CODBARRAS VARCHAR2(13) :=P_CODBARRAS;
> > V_TITULO VARCHAR2(50) :=P_TITULO;
> > V_TITULO_ORIG VARCHAR2(50) :=P_TITULO_ORIG;
> > V_ANOLANCTO NUMBER :=P_ANOLANCTO;
> > V_SISTCOR VARCHAR2(5):=P_SISTCOR;
> > V_DIRETOR NUMBER :=P_DIRETOR;
> > V_REGIAO NUMBER :=P_REGIAO;
> > V_DOC VARCHAR(2) :=P_DOC;
> > V_GENERO NUMBER:=P_GENERO;
> > V_SINOPSE blob:=P_SINOPSE;
> >
> > V_CODDVD NUMBER;
> >
> > cursor cur_tempart is
> > select codartista from tb_temp_dvd_art;
> > BEGIN
> > IF V_TITULO IS NOT NULL THEN
> > P_RET:=2;--2 PARA TITULO EM VAZIO
> > NULL;
> > END IF;
> > IF V_TITULO_ORIG IS NOT NULL THEN
> > P_RET:=3;--3 PARA TITULO_ORIG EM VAZIO
> > NULL;
> > END IF;
> > INSERT INTO TB_DVD(
> > CODBARRAS,TITULO,TITULO_ORIG,ANO_LANCTO,SIST_COR,
> > DIRETOR,REGIAO,TIPO,SINOPSE,DOC)
> > VALUES(
> >
> > V_CODBARRAS,V_TITULO,V_TITULO_ORIG,V_ANOLANCTO,V_SISTCOR,
> > V_DIRETOR,V_REGIAO,V_GENERO,P_SINOPSE,V_DOC);
> > IF Sql%RowCount=1 then
> > p_ret:='1';
> > else
> > p_ret:='0';
> > end if;
> >
> > select max(coddvd) into v_coddvd from tb_dvd;
> > for i in cur_tempart loop
> > INSERT INTO TB_DVD_ARTISTA (CODDVD,CODARTISTA) VALUES
> > (V_CODDVD,i.codartista);
> > end loop;
> > DELETE FROM TB_TEMP_DVD_ART;
> >
> > END;
> >
> > aí tenho também o código do delphi que utilizei para passar o
> > parâmetro do campo memo para o blob:
> >
> > Params.CreateParam(ftMemo,'P_SINOPSE',ptInput);
> >
> > vStored.Params.ParamByName('P_SINOPSE').AsMemo:=
> > MemSinopse.Text;
> >
> > como deveria fazer?
> >
> > estou utilizando componente OraStoredProc da ODAC. Alguém pode me
> > ajudar?
> >
>
>  
>



-- 
.......................................................
Eduardo Silva dos Santos
DRD Sistemas.
(27) 3218-4201
MSN: [EMAIL PROTECTED]
Site: http://www.drdsistemas.com/
.......................................................


[As partes desta mensagem que não continham texto foram removidas]

Responder a