Corrigindo problemas de instalação do Borland Data Provider For  FireBird:
Em alguns casos, o Borland Data Provider For Firebird têm apresentado  problemas de instalação, abaixo segue algumas dicas para tentar auxiliar na  resolução dos mesmos:
Verificar se o D8 está atualizado com Update Pack#2;
Se o BDP For Firebird foi instalado 'antes' do D8 ter sido  atualizado,desinstalar, atualizar o D8 e após isso instalar o BDP For Firebird  novamente;
Efetuar testes diretamente via 'Data Explorer' a fim de verificar se a  conexão ocorre sem problemas;
Copiar o arquivo 'FirebirdSql.Data.Bdp' para a pasta
C:\Arquivos de programas\Arquivos comuns\Borland  Shared\BDS\Shared\Assemblies\2.0
5. No projeto, acesse 'Project Manager' | 'References' e adicione a  referência ao 'Firebirdsql.Data.Bdp'
Listar as tabelas e views do banco de dados (Firebird):
SELECT RDB$RELATION_NAME FROM RDB$RELATIONS;
Listar as tabelas do banco de dados (Firebird):
SELECT RDB$RELATION_NAME FROM RDB$RELATIONS
WHERE RDB$VIEW_BLR IS NULL;
Listar as views do banco de dados (Firebird):
SELECT RDB$RELATION_NAME FROM RDB$RELATIONS
WHERE NOT RDB$VIEW_BLR IS NULL;
Obter o valor de um generator:
Para obter o valor de um generator use a função GEN_ID do  InterBase/FireBird. 
A  sintaxe é: 
GEN_ID(NomeDoGenerator, Incremento);
Exemplos
GEN_ID(Gen_Cliente_Codigo, 1);
GEN_ID(Gen_Cliente_Codigo, 0);
Reiniciar a contagem de um generator:
Para re-iniciar a contagem de um generator execute o comando  abaixo.
SET GENERATOR TO X;
Excluir generator (Firebird):
DROP GENERATOR NOME_DO_GENERATOR;
Trocar o tipo de um campo (FireBird):
ALTER TABLE <Table1> ALTER <Campo> TYPE <Tipo do  Campo>
Excluir código-fonte de stored procedure  (Interbase/FireBird):
UPDATE RDB$PROCEDURES SET RDB$PROCEDURE_SOURCE = 'deletado';
Usando um For Select dentro da StoredProcedure no  FireBird/Interbase:
create procedure SP_RETORNO(PCOD INTEGER)
returns (COD INTEGER, NOME VARCHAR(30),
VALOR NUMERIC(15,4))
as
begin
for select CODIGO, NOME from CLIENTES
where CODIGO = :PCOD
into :COD, :NOME do
begin
   select VALOR from VALORES
   where CODIGO = :COD
   into :VALOR;
   if ((VALOR IS NULL) or (VALOR = 0)) then
   VALOR = 1;
   suspend;
end;
end
Nenhum comentário:
Postar um comentário