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