Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido)Erro ao importar dados de um banco para o outro


robinhocne

Pergunta

Pessoal estou importando dados de um banco para outro banco de uma determinada tabela.

Meu Banco de Dados é Firebird 2.0

no banco 1 tenho a seguinte tabela com os campos

*****ESTRUTURA*****


    CREATE TABLE CIDADE (
    CIDADE_CODIGO     INTEGER NOT NULL PRIMARY KEY,
    UF_CODIGO         INTEGER NOT NULL REFERENCES UF (UF_CODIGO),
    CIDADE_DESCRICAO  VARCHAR(72) NOT NULL COLLATE PXW_INTL850,
    CIDADE_CEP        VARCHAR(8) NOT NULL COLLATE PXW_INTL850
);
então estou exportando os dados dessa tabela Cidade para o banco 2 tabela ADM_CAD_CIDADE
*****ESTRUTURA*****

CREATE TABLE ADM_CAD_CIDADE (
    CODIGO  INTEGER NOT NULL PRIMARY KEY,
    CODUF   INTEGER NOT NULL REFERENCES ADM_CAD_UF (CODIGO),
    CIDADE  VARCHAR(100) NOT NULL,
    CEP     VARCHAR(8) NOT NULL
);
quando chega para importar do banco 1 (tabela Cidade) para o Banco 2 (tabela ADM_CAD_CIDADE) ele dá erro numa linha de registro da tabela cidade. tem o campo Cidade_Descricao da tabela Cidade com o seguinte dados : OLHO D'ÁGUA GRANDE quando eu importo para o campo Cidade da tabela ADM_CAD_CIDADE ele dá esse erro abaixo:
Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, column 86
ÁGUA.

Creio que seja por causa da ( ' ) aspa, mas nunca tive problema com isso!

alguém pode me ajudar ?????

Editado por robinhocne
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

como você está fazendo para importar os dados ?? está usando algum componente ??? está fazendo um while eof na tabela e importando 1 a 1 ??

tente usar algo assim:

'insert into TABELA1 (CAMPO1,CAMPO2,CAMPO3) values(select CAMPO1,CAMPO2,CAMPO3 from TABELA2)'

colocando os campos das tabelas 1 e 2 nas respectivas ordens ...

Link para o comentário
Compartilhar em outros sites

  • 0
como você está fazendo para importar os dados ?? está usando algum componente ??? está fazendo um while eof na tabela e importando 1 a 1 ??

tente usar algo assim:

'insert into TABELA1 (CAMPO1,CAMPO2,CAMPO3) values(select CAMPO1,CAMPO2,CAMPO3 from TABELA2)'

colocando os campos das tabelas 1 e 2 nas respectivas ordens ...

Estou pegando os dados da Tabela Cidade e deixando numa IbQuery e fazendo um while dessa maneira abaixo:

QryCidade.First;

  while not QryCidade.Eof do
    begin


      with QryCOLAS do
        begin
          close;
          sql.Clear;
          sql.Add('Insert Into Adm_Cad_Cidade ( Codigo, CodUf, Cidade, Cep ) values ( ' +
                  #39 + QryCidade.FieldByName('Cidade_Codigo').AsString + #39 +
                  ',' + #39 + QryCidade.FieldByName('Uf_Codigo').AsString + #39 +
                  ',' + #39 + QryCidade.FieldByName('Cidade_Descricao').AsString + #39 +
                  ',' + #39 + QryCidade.FieldByName('Cidade_Cep').AsString + #39 + ')');
          ExecSQL;
        end;


      QryCidade.Next;
    end;

QryCidade está conectada numa IbDataBase que é do Banco de dados 1

QryColas está conectada num IBCConnection1 que é do Banco de Dados 2

Link para o comentário
Compartilhar em outros sites

  • 0
como você está fazendo para importar os dados ?? está usando algum componente ??? está fazendo um while eof na tabela e importando 1 a 1 ??

tente usar algo assim:

'insert into TABELA1 (CAMPO1,CAMPO2,CAMPO3) values(select CAMPO1,CAMPO2,CAMPO3 from TABELA2)'

colocando os campos das tabelas 1 e 2 nas respectivas ordens ...

Estou pegando os dados da Tabela Cidade e deixando numa IbQuery e fazendo um while dessa maneira abaixo:

QryCidade.First;

  while not QryCidade.Eof do
    begin


      with QryCOLAS do
        begin
          close;
          sql.Clear;
          sql.Add('Insert Into Adm_Cad_Cidade ( Codigo, CodUf, Cidade, Cep ) values ( ' +
                  #39 + QryCidade.FieldByName('Cidade_Codigo').AsString + #39 +
                  ',' + #39 + QryCidade.FieldByName('Uf_Codigo').AsString + #39 +
                  ',' + #39 + QryCidade.FieldByName('Cidade_Descricao').AsString + #39 +
                  ',' + #39 + QryCidade.FieldByName('Cidade_Cep').AsString + #39 + ')');
          ExecSQL;
        end;


      QryCidade.Next;
    end;
QryCidade está conectada numa IbDataBase que é do Banco de dados 1 QryColas está conectada num IBCConnection1 que é do Banco de Dados 2
Consegui resolver..lembrei do StringReplace e ai pesquisei mais na internet para lembrar como funcionava direito...e fiz assim:
StringReplace(QryCidade.FieldByName('Cidade_Descricao').AsString, '''','',[rfReplaceAll])

agora importou......valrew pela ajuda Daniel....

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...