Erro desconhecido firedac Delphi 7

15/02/2018

0

Boa tarde amigos estou tentando fazer o seguinte : comparar dois bancos de dados para ver se os dois tem as mesmas tabelas estou usando os seguintes selects:
TRY
   dmprincipal.qBanco1.Close;
   dmprincipal.qBanco1.SQL.Text:='SELECT TABLE_NAME,TABLE_ROWS,DATA_LENGTH FROM information_schema.tables WHERE table_schema = '+eBD.Text;
   dmprincipal.qBanco1.Open;

   dmprincipal.qBanco2.Close;
   dmprincipal.qBanco2.SQL.Text:='SELECT TABLE_NAME,TABLE_ROWS,DATA_LENGTH FROM information_schema.tables WHERE table_schema = teste_bhsoft';
   dmprincipal.qBanco2.Open;

   While not  dmprincipal.qBanco1.Eof do begin
    While not  dmprincipal.qBanco2.Eof do begin

    if (dmprincipal.qBanco1.FieldByName('TABLE_NAME').AsString <> dmprincipal.qBanco2.FieldByName('TABLE_NAME').AsString) OR (dmprincipal.qBanco1.FieldByName('TABLE_ROWS').AsString <> dmprincipal.qBanco2.FieldByName('TABLE_ROWS').AsString) OR (dmprincipal.qBanco1.FieldByName('DATA_LENGTH').AsString <> dmprincipal.qBanco2.FieldByName('DATA_LENGTH').AsString) THEN
    mLog.Lines.Append('Erro na tabela'+dmprincipal.qBanco1.FieldByName('TABLE_NAME').AsString);

    dmprincipal.qBanco1.Next;
    dmprincipal.qBanco2.Next;
    end;
   end;
   EXCEPT
   END;


Porém nenhum desses selects funcionam no delphi sendo que no mysql eles funcionam alguém sabe o porquê ?
Desde já agradeço
Rodrigo Oliveira

Rodrigo Oliveira

Responder

Posts

15/02/2018

Jerson Boer

A sua condição Where não deveria estar buscando no TABLE_CATALOG ao invés do TABLE_SCHEMA?
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar