Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
INTRODUCCIN Sigo igual que en las anteriores, no se me ocurre nada. HERRAMIENTAS UTILIZADAS: A excepcin del VFP, el software utilizado se puede encontrar en www.mysql.org VFP 7.0 MySQL 4.0.17 MySQL Connector / ODBC 3.51 MDAC 2.1 o posterior (normalmente instalado junto con Windows)
REQUISITOS PREVIOS Haber creado la base de datos y las tablas de los artculos anteriores Tener conocimientos de OLEDB
EMPEZAMOS Hemos estado utilizando la tecnologa SQL-PassThrough durante las entregas anteriores pero, para el manejo de campos Binary Large OBjects (BLOB) utilizaremos OLEDB. CONECTNDONOS CON MySQL UTILIZANDO OLEDB Cadena de conexin: por no ser el tema de ste artculo slo explicar los parmetros necesario en ella: Ejemplo de cadena de conexin (todo en una sola lnea)
DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost; DATABASE=vfp_db; UID=root; PWD='
Descripcin Es el nombre del driver utilizado para realizar la conexin Nombre del servidor o IP Base de datos a la que nos queremos conectar Nombre de usuario Password del usuario
CREANDO LA TABLA PARA ALMACENAR ARCHIVOS Hasta aqu se supone que ya logramos conectarnos con MySQL ahora crearemos la tabla con un campo BLOB (ver manual de MySQL para mayor informacin); la estructura de la tabla es: Campo IDBlob Imagen Tipo Campo entero autonumrico MEDIUMBLOB
Porque MEDIUMBLOB, por el tamao de almacenamiento 16777215 bytes (ver manual de MySQL para ver capacidad de otros tipos de campos BLOB) La cadena que utilizaremos para la creacin de la tabla en la base de datos:
CREATE TABLE IF NOT EXISTS BlobTable PRIMARY KEY, Imagen MEDIUMBLOB) (IDBlob INT NOT NULL AUTO_INCREMENT
oRs = ADOCnx.Execute(lcSQLCreateTable) IF lcError THEN ?'ERROR: no se logr crear la tabla: ' + MESSAGE() ELSE ?'Tabla BlobTable creada!!' ENDIF ON ERROR ADOCnx.Close()
el archivo es muy largo se puede mandar en pedacitos; esto lo pueden logra con un ciclo; eso se los dejo a uds. Obteniendo el archivo de la tabla (GetChunk)
LOCAL lcError lcError = .F. ON ERROR lcError = .T. *!* Conectndonos con la base de datos LOCAL ADOCnx, lRet, oRs, CnxStr ADOCnx = CREATEOBJECT('ADODB.Connection')
ELSE
IF lcError THEN ?'ERROR: no se logr obtener el archivo a la tabla ' ELSE ?'Archivo grabado!!' ENDIF ON ERROR ADOCnx.Close()
COMENTARIOS ADICIONALES Recuerden que no se recomienda almacenar archivos en las tablas; lo que se recomienda es tener en la tabla la referencia al archivo, se que existen casos en el que es necesario tenerlos en la tabla para esas situaciones es que elabor el artculo. Espero que les sea de utilidad Denny Infante Jurez