[firebase-br] Invalid KeyLinks entry: A.ID_PC
Gladiston Santana
gladiston em vidy.com.br
Qua Set 11 09:48:56 -03 2013
Estou escrevendo um aplicativo que transfere os dados de um database para
outro database (ambos Firebird), exatamente igual, e transfere dados tabela
a tabela, campo a campo.
Tenho dentro desse database, uma simples tabela que só tem 2 campos:
CREATE TABLE PC_FORN_MINIMO (
MOTIVO VARCHAR(255) DEFAULT NULL , <--- PK
MINIMO SMALLINT DEFAULT 0 NOT NULL CHECK (VALUE >=0 AND VALUE <= 255)
);
Não sei o motivo, mas usando o IB_Query, quando dou um :
SELECT a.* FROM PC_FORN_MINIMO a
Ocorre a seguinte mensagem de erro :
Invalid KeyLinks entry: A.ID_PC
Já tentei de tudo como voces podem ver nas linhas que comentei:
ISQL_TO:=TIB_Query.Create(Self);
ISQL_TO.IB_Connection:=FB_TO;
ISQL_TO.IB_Transaction:=FB_TRANS_TO;
ISQL_TO.SQL.Clear;
ISQL_TO.SQL.Add('SELECT a.* FROM '+sTabelaTo+' a ');
{
ISQL_TO.KeySeeking:=false;
ISQL_TO.KeyLinks.Clear;
ISQL_TO.MasterLinks.Clear;
ISQL_TO.JoinLinks.Clear;
ISQL_TO.KeyRelation:='';
ISQL_TO.MasterSearchFlags:=[];
ISQL_TO.KeyLinksAutoDefine:=false;
ISQL_TO.FetchWholeRows:=false;
}
try
// PAU BEM AQUI
ISQL_TO.Open;
except
on e:exception do
begin
if not AddtoLog(e.message,'Erro ao transferir tabela de
['+sTabelaFrom+'] para ['+sTabelaTo+'] :',ISQL_TO.SQL.Text) then
begin
LimparMemoria;
Exit;
end;
end;
end;
Todas as demais tabelas a transferência ocorre numa boa, inclusive bem mais
complexas do que esta, parece que essa tabela paga o preço por ser simples
demais.
Alguem aí já passou por isso e soube como resolver?
Mais detalhes sobre a lista de discussão lista