Вы находитесь на странице: 1из 2

Insertar archivo binario desde vfp a SQL Server en campo IMAGE o

TEXT
El siguiente cdigo permite agregar archivos binarios a una registro en una tabla de base de
datos SQL Server desde VFP. Cabe aclarar que el campo es de tipo Image para evitar perdidas de
conversin. Para realizar lo siguiente lo explicaremos con un ejemplo primero en un campo de tipo
Text y a continuacin en uno Image:

Primero creamos un tabla en SQL server

create table archivos (TipoText text, tipoImage image)

Luego creamos una conexin desde fox a sql server que llamaremos "con"
El string de conexin
Conn_Str=[Driver={SQL Server};Server=]+ 'tuServer';
+[;UID=]+ 'usuario' + [;PWD=] + 'password' + [;Database=] + 'tuBase'
Conectamos
con = SQLSTRINGCONNECT(Conn_Str)

Ahora el cdigo fox para insertar un archivo a un campo TEXT

* insertar
l_datos = FILETOSTR('c:\temp\100_1160.JPG') && para evitar las '
SQLEXEC(con, "insert into archivos (TipoText)values (?l_datos)")

*Recuperar
SQLEXEC(con, 'select * from archivos', 'cursor')
STRTOFILE(cursor.tipotext , 'c:\temp\resultado.JPG')

ahora si ese mismo cdigo lo utilizas con un campo ntext no funciona.

o IMAGE (Mejor) siguiendo estos truquillos

*Insertar

caracteres=FILETOSTR( 'c:\temp\100_1160.JPG' )
binario=CREATEBINARY(caracteres)
CURSORSETPROP("MapBinary",.F.,0) && sino la instruccin siguiente te va a dar error
res = SQLEXEC(1, "update archivos set tipoImage=?binario")
CURSORSETPROP("MapBinary",.T.,0)

*Extraer

SQLEXEC(con, 'select * from archivos', 'cursor')


STRTOFILE( cursor.tipoImage , 'c:\temp\resultado3.JPG')
publicado por marcelo colombani en 8:15
etiquetas: vfp

Вам также может понравиться