none
Pesquisar texto no conteúdo de um arquivo inserido em Blob/Varbinary RRS feed

  • Pergunta

  • Boa tarde!

    Estou planejando uma solução que atenda em armazenamento de arquivos (doc, pdf, xls...) em coluna do tipo Blob/Varbinary em SQL Server, mas que permita que eu busque por um texto no conteúdo destes arquivos.

    Pesquisei muito, inclusive aqui no MSDN, não encontrei nada parecido, é possível?
    Ex fictício a grosso modo: SELECT * FROM TABELABLOB WHERE CAMPOBLOB LIKE '%carro vermelho%'

    Acredito que não seja possível, eu converter o texto que desejo pesquisar em varbinary por exemplo, e buscar: 
    Ex: SELECT * FROM TABELABLOB WHERE CAMPOBLOB LIKE convert(varbinary(max), '%carro vermelho%')

    Caso não seja possível buscar por texto em conteúdo de arquivos, o melhor seria armazenar só o caminho, o arquivo sendo armazenado em disco ok?

    obrigado,



    Rafael Silva, Analista e Desenvolvedor de Sistemas

    terça-feira, 24 de dezembro de 2013 16:19

Respostas

Todas as Respostas

  • Deleted
    terça-feira, 24 de dezembro de 2013 18:02
  • Deleted
    terça-feira, 24 de dezembro de 2013 18:44
  • Deleted
    terça-feira, 24 de dezembro de 2013 19:25
  • Bom dia!

    José.Diz, grato pelas respostas, ótimo. Ainda tenho algumas dúvidas.

    Primeiramente, respondo suas perguntas.
    Utilizo SQL Server 2008 Std; tamanho médio dos arquivos em torno de 3MB; estimo em até 20MB os arquivos maiores; é um sistema de atendimentos/ autorizações que permitirá anexos, portanto poderá ter dezenas ou mais por dia!

    A intensão é criar nosso GED, atendendo a demanda que necessitamos. Alguns requisitos: permitir pesquisa no conteúdo do arquivo; permitir editar um arquivo (ou gravar nova versão); e outros como classificação, tipificação e atributos que são simples de aplicar. Utilizar o campo varbinary(max), sendo possível reaproveitar o arquivo para envio de e-mail com anexo (sp_send_dbmail) - integração.

    Interessante as ferramentas que citou de converter arquivos para texto plano, acho que seria muito válido sim. Li bastante sobre o assunto.

    A dúvida maior agora, com estas especificações, se realmente guardo o arquivo no banco de dados ou no disco (somente caminho no BD). Acho que a maior vantagem de gravar no disco, é se precisa abrir, alterar e salvar o mesmo documento.

    Pesquisando encontrei uma solução semelhante para o que necessito, inclusive com busca no conteúdo do arquivo, parece que também extrai o texto plano: http://reginaldojr.wordpress.com/sistemas-c-codigo-fonte/arquivamento-de-documentos-em-banco-de-dados/ 

    Abração,


    Rafael Silva, Analista e Desenvolvedor de Sistemas

    quinta-feira, 26 de dezembro de 2013 11:58
  • Deleted
    • Marcado como Resposta rafael.dev sexta-feira, 27 de dezembro de 2013 12:07
    sexta-feira, 27 de dezembro de 2013 12:05
  • Deleted
    domingo, 5 de janeiro de 2014 16:23