Pular para o conteúdo
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #77209
    Bedin
    Participante

      Pessoal,

      Possuo uma tabela que contém um campo tipo Long,
      Neste campo preciso inserir uma string de dados de retorno, porém ela é grande. Cerca de 74000 caracteres.
      Verificando informações do datatype long, verifiquei que ele aceita até 2GB de dados.
      Ao tentar fazer Insert ou Update neste campo, o Oracle informa erro:
      ORA-01460 – conversão não implementada ou não resolvível solicitada.

      Diminuindo o tamanho de dados para este campo, ocorre o update.

      Alguém tem alguma idéia do que pode estar ocorrendo, ou alguma sugestão para mim inserir estas informações no campo.

      Grato.

      #77217
      Marcio68Almeida
      Participante

        Qual a ferramenta que está usando para manipulação de dados ?
        Acho que o seu problema encontra-se na forma que está fazendo o insert / updade, qual o tipo de campo que usa nessa ferramenta para manipular os dados ?
        Ao que parece, o tipo de campo que você está usando é que está restringindo a atualização.

        #77228
        Bedin
        Participante

          Criei uma procedure no PL/SQL V5.0.3.518.
          Estou fazendo update em uma tabela que possui campo tipo Long.

          Segue procedure :
          CREATE OR REPLACE PROCEDURE ATUALIZARITEMBALANCOLOTE
          (
          pId_Balanco in Number,
          pNr_CNPJ in VarChar2,
          pVl_Retorno_Dados_Balanco in LONG ,
          pIn_Situacao_Processamento in Char,
          pDs_Mensagem_Erro in VarChar2
          )
          As
          Begin
          Update tb_balanco
          Set Nr_CNPJ = pNr_CNPJ,
          Vl_Retorno_Dados_Balanco = pVl_Retorno_Dados_Balanco,
          In_Situacao_Processamento = pIn_Situacao_Processamento,
          Ds_Mensagem_Erro = pDs_Mensagem_Erro
          Where Id_Balanco = pId_Balanco ;

          End ATUALIZARITEMBALANCOLOTE;

          #77234
          rosterne
          Participante

            Bedin

            Mesmo que o dataype LONG tenha limite de dados de 2gb, o tamanho máximo de um datatype LONG RAW ou LONG em PL/SQL é 32.760 bytes, ou seja, você não pode manipular dados que são maiores do que esse em PL/SQL.

            Você precisa usar o pacote DBMS_SQL e as funções DEFINE_COLUMN_LONG e COLUMNN_VALUE_LONG.

            Abraço.

          Visualizando 4 posts - 1 até 4 (de 4 do total)
          • Você deve fazer login para responder a este tópico.
          plugins premium WordPress