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]