Un cliente desea que los documentos de Word se guarden en una base de datos mySQL a pesar de que yo discuto. Los documentos en sí no deben ser particularmente grandes, no más de 1 MB cada uno. He permitido BLOB de administrador CF y establecer el búfer gota a 1.000.000Cómo almacenar un documento de Word como un BLOB en mySQL con Coldfusion
Aquí está mi SQL
<cfset newMessageID=1569>
<cfset fileName="c:\temp\0.doc">
<cffile action = "readbinary"
file = "#fileName#"
variable = "fileData">
<cfquery name="addFile" datasource='#application.dsn#'>
INSERT into files (fileID, fileData)
Values (#newMessageID#, <cfqueryparam value="#fileData#" cfsqltype="CF_SQL_BLOB">)
</cfquery>
consigo "truncamiento de datos: Los datos demasiado largo para la columna 'filedata' en la fila 1" error. El campo de datos de archivos en la tabla de archivos está definitivamente configurado en blob. ¿Qué estoy haciendo mal?
CF 9.01, MySQL 5.4
¿Qué estoy haciendo mal
usted piensa es necesario ajustar el '# fileData #' en 'ToBase64()' - vea los documentos aquí: http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Tags_f_08.html Read usa 'BinaryEncode () 'para convertirlo de nuevo: http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=functions_a-b_31.html#4989676 – orangepips
Ya lo intenté. Si simplemente convierto a Base64, arroja un error de conversión con mi cfqueryparam. Si corro sin cfqueryparam estoy de vuelta a "data too long for column 'filedata'" – Saul
@Saul - ¿Qué tipo de 'blob'? Hay diferentes tipos de long, medium, ... http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html y http://dev.mysql.com/doc/refman/5.0 /es/blob.html – Leigh