rei_do_delphi wrote:
> gente, será que nunca ninguém passou por isso para poder me ajudar? 

Tentou clob ao invés de blob?

--
Joao Morais


> --- Em delphi-br@yahoogrupos.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?
>>
> 
> 
> 
> 

Responder a