Consulta SQL em um campo Memo

Delphi

21/06/2005

Eu uso firebird 1.5 e possuo um campo blob onde armazeno conteúdo de um Memo que são cadastradas palavras chaves.

No meu formulário eu tenho uma TSqlQuery+ DataSetProvider+ClientDataSet + DataSource

Eu tava tentando fazer uma pesquisa onde o usuário digita uma palavra chave e a query retorna os registros que contem essa palavra chave no memo.

O problema é q qnd dá open na query acontece o erro: conversion error from string ´BLOB´

a minha query está assim: select * from tabela where PalavraChave like :PalavraChave

Parambyname(´PalavraChave´).asstring := Edit1.text

já pesquisei no fórum e não encontrei nd....

alguém sabe como posso resolver isso?


Vania

Vania

Curtidas 0

Respostas

Sremulador

Sremulador

21/06/2005

qual o tipo de blob 0 ou 1 ???


GOSTEI 0
Aerreira

Aerreira

21/06/2005

Dando continuidade à dúvida da Vania, também não estou conseguindo pesquisar um texto dentro de um campo BLOB sub_type 1 no FireBird 1.5.

Com a instrução abaixo:
select * from DOCTOS
where upper(DESCR) like ´¬TESTE¬´
order by TITULO, CATEGORIA

O Delphi devolve o seguinte erro (delphi5+ibx): conversion error from string ´BLOB´

Pergunto: tem como fazer busca a parte de um texto armazenado num campo BLOB ?


GOSTEI 0
Firekiller

Firekiller

21/06/2005

Existem UDF´s específicas para tratamento de campos blob... dê uma olhada no site da [url=www.firebase.com.br]firebase[/url] ou neste mesmo site, na seção Interbase/Firebird.


GOSTEI 0
Aerreira

Aerreira

21/06/2005

Existem UDF´s específicas para tratamento de campos blob... dê uma olhada no site da [url=www.firebase.com.br]firebase[/url] ou neste mesmo site, na seção Interbase/Firebird.


Rapaz, olha que dei uma olhada boa lá no Firebase, lí vários artigos sobre UDF mas nada...

Acabei encontrando sim várias bibliotecas UDF e dentre as que peguei apenas uma delas implementa funções para tratamento de BLOB sub_type 1, é a biblioteca russa rFunc UDF Library, que tem muita coisa e dentre elas algumas como B_StrPos, B_TextPos, B_StrCmp que devem servir pra o que preciso. Vou tentar implementar essas UDFs, porém tem alguns problemas: ela é para IB6 e os fontes são em C++ (não sei nada de C++ e uso FireBird 1.5).

Espero que com a DLL somente funcione no Firfebird, caso contrário... fico sem saida.

Alguem saberia me dizer se funciona no Firebird ou se existe uma versão da rFuncUDF para Firebird?


GOSTEI 0
Aerreira

Aerreira

21/06/2005

Bom, pelo que andei lendo no forum da rFunc parece que funciona com FireBird 1.0 mas pelas mensagens que vi por lá para funcionar com o 1.5 precisa de alguns ajustes e depois ser re-compilada.

Não tenho C++ e não entendo de nada de C, alguem aqui no forum teria essa biblioteca compilada para funcionar no FireBird 1.5 ?


GOSTEI 0
Aerreira

Aerreira

21/06/2005

Em complemento as informações que postei mais cedo com relação a busca dentro de campos BLOB sub-type 1, informo que as UDF da biblioteca rFunc funcionaram perfeitamente no FireBird 1.5.

Usei ´b_textpos´ para buscas case-insensitive. Porém verifiquei que a busca não encontra quando as palavras estão acentuadas. Se alguém tiver alguma informação a mais para exclarecer... fique a vontade.


GOSTEI 0
Aerreira

Aerreira

21/06/2005

Pessoal, eu mesmo retornando ao mesmo assunto 3 anos depois...

Estou com problemas na rFunc onde o cliente está rodando o Firebird 1.5 num servidor Linux, e segundo o pessoal de infra por lá, informaram que o rFunc requer um kernel do Linux versão 2.0 ou coisa parecida, e esse kernel é muito velho, e não existe mais nenhum linux com esse kernel, então a rfunc como é não tem como rodar.

Alguem tem ou teve problema semelhante e qual foi a solução? Existe alguma outra biblioteca para firebird que substitua a rFunc ?

Abraço a todos,


GOSTEI 0
POSTAR