[firebase-br] Erro utilizando BLOB dentro de SP
andre conrado
acf.andre em gmail.com
Qua Ago 3 11:42:46 -03 2011
Senhores, hoje começou a ocorrer um erro em uma SP de atualização da folha
de pagamento. Fiz um resumo da SP. Quanto executo, o FB me retorna mensagem
de erro:
BLOB not found, Line 267, col 11.
Esta linha refere-se a atualização da tabela LANCAMENTO_DAS_CONTAS. O erro
ocorre na segunda passada dentro do loop. Inclui uma linha de exceção:
EXCEPTION ERROR_1 sHistorico;
Para poder visualizar o conteúdo da variável sHistorico e o FB me retorna
com o mesmo erro. Me fazendo entender que algo está errado com o
processamento desta variável.
Gostaria da ajuda dos amigos quanto a algum outro tipo de verificação que eu
possa fazer para descobrir o que está errado. Afinal, estava funcionando a
anos e agora com a mudança de FB 2.1 para FB 2.5 isso começou a ocorre, mas
não imediatamente.
No momento tive que improvisa, já que não quero que ninguém fique se salário
e eu sem fígado (rs). Mudei o tipo da variável sHistorico de BLOB para
VARCHAR(2000) e a SP funcionou sem mais problemas. Mas eu quero este tipo
porque no futuro o tamanho
pode me dar problemas.
CREATE TABLE LANCAMENTO_DAS_CONTAS
(
LANCAMENTO INTEGER NOT NULL,
CONTA INTEGER,
DATA TIMESTAMP DEFAULT
'now',
DOCUMENTO INTEGER,
HISTORICO BLOB SUB_TYPE 1 SEGMENT SIZE
80,
QUANTIDADE DOUBLE PRECISION,
SALDO DOUBLE PRECISION,
COTA SMALLINT,
VALOR NUMERIC( 18, 2),
FINANCEIRO NUMERIC( 18, 2),
FORMA_DE_PAGAMENTO INTEGER,
CONSTRAINT LANCAMENTO_DAS_CONTAS PRIMARY KEY (LANCAMENTO)
);
CREATE PROCEDURE P_FOLHA_APROVACAO(...) AS
DECLARE VARIABLE sHistorico BLOB;
BEGIN
WHILE (nPos < 15)
BEGIN
sHistorico = '2ª Quinzena';
UPDATE Lancamento_das_contas SET Data = :dtLancamento, Valor =
:nValue, Historico = :sHistorico WHERE Lancamento = :iLancamento;
END
END
--
Um Abraço,
André Conrado.
055 21 9176-7013 - Claro
Mais detalhes sobre a lista de discussão lista