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
|
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
|
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
|
|
|
|
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!
|
|
|