USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Gravar Imagem
Macaubal
MACAUBAL
SP - BRASIL
ENUNCIADA !
Postada em 27/10/2008 12:18 hs            
Pessoal bom dia!
Estou tentando gravar uma imagem em no Banco de dados, porém está me mostrando a mensagem "o drive odbc não oferece suporte  para as propriedades solicitatas"
Bom as ferramentas que estou utilizando é VB6, Caché (banco dados) e SQL (linguagem). No banco o campo Imagem está definido como "binário long", ou seja, para gravar Objeto OLE.
Alguem tem alguma dica ou solução do caso, sem ser gravar o caminho da imagem?
 
Obrigado
   
Guaitoli
Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 27/10/2008 12:38 hs            

Eu gravo imagens da seguinte forma...
Geralmente crio uma tabela extendida 1:1 da tabela cuja a imagem pertença, contendo apenas o campo da imagem do dito TEXT, um campo para indicar o tipo de arquivo e um contendo a chave para o relacionamento. Gravo o arquivo neste campo utilizando base 64, não utilizo este procedimento para arquivos muito grande pois o processo de conversão pode ficar lento, neste caso gravo somente o path da imagem mesmo...

[]'s
Eder Guaitoli
   
J.Carlos
Pontos: 2843
PRESIDENTE PRUDENTE
SP - BRASIL
ENUNCIADA !
Postada em 28/10/2008 07:34 hs            
Se vc quiser gravar realmente no BD, no macoratti.net tem uma ocx com exemplo muito boa e que resolveu meu problema  e com certeza poderá resolver o seu.
   
Macaubal
não registrado
ENUNCIADA !
Postada em 28/10/2008 08:16 hs   
JCarlos eu tentei utilizar o que vc se referenciou mais infelizmente não deu certo.

Obrigado pela dica
   
Ivo Borges
BARRETOS
SP - BRASIL
ENUNCIADA !
Postada em 28/10/2008 14:05 hs            
cole isso num modulo
Public Sub SalvaImagensGrandes(f As ADODB.Field, File As String)
    Dim b()      As Byte
    Dim ff       As Long
    Dim i        As Long
    Dim FileLen  As Long
    Dim Blocks   As Long
    Dim LeftOver As Long
    On Error GoTo ErrHandler
    ff = FreeFile
    Open File For Binary Access Read As ff
    FileLen = LOF(ff)
    Blocks = Int(FileLen / nBUFFER)
    LeftOver = FileLen Mod nBUFFER
 
    ReDim b(LeftOver)
    Get ff, , b()
    f.AppendChunk b()
 
    ReDim b(nBUFFER)
    For i = 1 To Blocks
        Get ff, , b()
        f.AppendChunk b()
    Next
    Close ff
    Exit Sub
   
ErrHandler:
    MsgBox "ERROR: " & Err.Description
End Sub
 
use isso para salvar
Call SalvaImagensGrandes(rsArquivo.Fields("Foto"), Fotos)
   
Macaubal
não registrado
ENUNCIADA !
Postada em 28/10/2008 15:09 hs   
Faltou a declacação

Option Explicit
Private Const nBUFFER As Long = 1024

no módulo, mas ainda não deu certo!
   
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página