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

      Olá, Bom Dia a Todos..!! 8)

      Meu problema é o seguinte: 🙄

      Estou tentando inserir dados de um Banco Oracle para um Banco Informix.
      Quando eu insiro um dado informado manualmente funciona belezinha.

      INSERT INTO “nova_teste”@logix VALUES (‘TESTE’);

      Porém qunando eu tento inserir dados pegando as informações de uma tabela do ORACLE ele me retorna um erro e não consigo fazer a inserção dos dados.

      INSERT INTO “nova_teste”@logix
      SELECT DESCRICAO FROM MINHA_TABELA;

      Erro:

      ORA-02025: All Tables in the SQL statement must be at the remote database

      Como eu posso resolver esse problema?
      Preciso carregar as informações que estão no meu Banco de Dados Oracle no Banco Informix.

      Muito Obrigado..!! 😀

      Renato

      #91884
      fsitja
      Participante

        Segue a descrição do erro:

        ORA-02025: all tables in the SQL statement must be at the remote database
        Cause: The user’s SQL statement references tables from multiple databases. The remote database is not Oracle V7 or above, and can perform updates only if it can reference all tables in the SQL statement.
        Action: None

        Resumindo, você não pode fazer “insert … select” para um banco remoto que não seja Oracle (versão 7 ou mais recente).

        Não conheço o Informix e como ele funciona, mas creio que carregar via arquivo seria o mais simples.

        #91885
        Avatar photoLeonardo Litz
        Participante

          Faça um bloco anonimo:


          declare

          type typ_row is table of MINHA_TABELA%rowtype;
          v_row typ_row;

          begin

          select *
          bulk collect into v_row
          from MINHA_TABELA;

          for dd in 1..v_row.count loop

          INSERT INTO "nova_teste"@logix values v_row; ---declare as colunas aqui

          end loop;

          end;

          #91906
          Girino
          Participante

            Olá Pessoal..!! 8)

            Queria compartilhar a resposta que me passaram abaixo e agradecer ao pessoal aqui também pela atenção disponibilizada: 😀

            BEGIN
            FOR R IN (SELECT DESCRICAO FROM MINHA_TABELA)
            LOOP
            INSERT INTO “nova_teste”@logix VALUES (R.DESCRICAO);
            END LOOP;
            END;

            Funcionou que foi uma beleza..!! 😉

            Autor: Motta (Fórum Imasters – ORACLE

            Abraço à Todos..!!

            Renato 😀

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