Insertar imagen JPG en campo General....

Claudia
02 de Octubre del 2003
Necesito almacenar una imagen JPG en un campo General de una tabla fox de paso para ser almacenada posteriormente en una tabla de SQL Server he intentado con la siguiete instrucción pero funciona solo para BMP y no para JPG o GIF.
APPEND GENERAL Imagen FROM &gcTable CLASS JPEGFILE (gcTable = es una variable que contiene la direción y el nombre del archivo jpg)

aquies
02 de Octubre del 2003
no va a poder hacerlo ya que cuando almacena la imagen en el campo de la base de datos se hace en modo binario el BMP es una archivo binario, en cambio GIF y JPG usan algoritmos de compresion que hacen que los archivos necesiten de ese mismo algoritmo para ser guardados y leidos. Son formatos de compresion para BMP.

aquies
02 de Octubre del 2003
Lo mejor seria que no guarde las imagenes en la base de datos sino la ruta del archivo en disco, asi la base de datos no crece tanto.

En codigo VB6
Seria algo como esto para pasarle la ruta a la base de datos

Dim Archivo As String
Dim NumeroLibre As Integer
Dim Contador As Integer
Dim Largo As Long
Dim Cnn As New ADODB.Connection
Dim RS As New ADODB.Recordset
Dim VarBytes() As Byte
Cnn.Provider = "SQLOLEDB"
Cnn.Open "Data Source = SRVMEMO;Initial Catalog = CAT;", "", ""
RS.Open "NEWS_SISTEMA", Cnn, adOpenKeyset, adLockOptimistic
For Contador = 2000 To 2005
Archivo = App.Path & "\News\Imagen" & Contador & ".BMP"
NumeroLibre = FreeFile
Open Archivo For Binary Access Read As #NumeroLibre
Largo = LOF(NumeroLibre)
If Largo <> 0 Then
ReDim VarBytes(Largo)
Get NumeroLibre, , VarBytes
End If
Close #NumeroLibre
RS.Find "News_Orden = " & Contador
If Not RS.EOF Then
\'Cnn.BeginTrans
RS!News_JPG.AppendChunk Null
RS!News_JPG.AppendChunk VarBytes
RS.Update
\'Cnn.CommitTrans
End If
Next
RS.Close
Cnn.Close
Stop
Set RS = Nothing
Set Cnn = Nothing