Primero creamos un tabla en SQL server
create table archivos (TipoText text, tipoImage image)
Luego creamos una conexión desde fox a sql server que llamaremos "con"
El string de conexión
Conn_Str=[Driver={SQL Server};Server=]+ 'tuServer';
+[;UID=]+ 'usuario' + [;PWD=] + 'password' + [;Database=] + 'tuBase'
Conectamos
con = SQLSTRINGCONNECT(Conn_Str)
Ahora el código 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 código 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 instrucción 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')
No hay comentarios:
Publicar un comentario