Altova MapForce 2023 Enterprise Edition

Esta función devuelve el contenido del archivo indicado como BLOB (objeto binario grande por sus siglas en inglés) de tipo xs:base64Binary. Tenga en cuenta que aunque el tipo de datos se llama "base64Binary", la representación interna es únicamente un BLOB. La codificación en base 64 no tiene lugar hasta que no asigna el resultado de la función a un nodo XML de tipo xs:base64Binary. También puede asignar el resultado de la función a xs:hexBinary, a un blob de BD o a un campo binario de una estructura de Protocol Buffers.

mf-func-read-binary-file

Para leer un archivo binario en una asignación debe dar su ruta como entrada del argumento filepath. Si filepath es relativo, entonces MapForce buscará el archivo en el mismo directorio que la asignación. El argumento must-exist es opcional; si no se puede abrir el archivo y su parámetro es true, la asignación emite un error. Si no se puede abrir el archivo y su parámetro es false, la asignación devuelve un binario vacío.

 

Lenguajes

Built-in.

 

Parámetros

Nombre

Tipo

Descripción

filepath

xs:string

La ruta de acceso al archivo.

must-exist

xs:boolean

Parámetro opcional. Si el archivo no se puede abrir y este parámetro es true, la asignación genera un error Si el archivo no se puede abrir y este parámetro es false, la asignación devuelve un binario vacío.

 

El valor predeterminado es true.

 

Ejemplo

La asignación siguiente lee datos desde un archivo de imagen y los escribe en una tabla de BD. La BD de destino es SQLite. Observe que el tipo de datos del campo de BD picture es BLOB.

mf-func-read-binary-file-example1

En esta asignación se usó la función read-binary-file para extraer contenido binario del archivo. El primer argumento, filepath, viene dado por una constante. Tenga en cuenta que, al ser una ruta relativa, MapForce buscará el archivo de imagen en el mismo directorio que la asignación.

 

La asignación rellena los campos siguientes en la BD de destino:

 

id: en este ejemplo el componente de BD está configurado de tal manera que id es generado por la BD en lugar de por la asignación. Para más información consulte Insertar datos en una tabla.

mf-func-read-binary-file-example2

title: este valor viene dado por un componente de entrada simple con el mismo nombre. Observe que al diseñar la asignación se ha definido un valor de ejecución ("product1") para que sea posible acceder a una vista previa de la asignación. Para más información consulte Pasar parámetros a la asignación.

mf-func-read-binary-file-example3

picture: este campo recibe el resultado directo de la función read-binary-file.

 

El componente de destino es una BD, por lo que la vista previa de la asignación genera una especie de script SQL que puede revisar, pero no envía cambios a la BD. Para ejecutar el script en la BD debe seleccionar el comando de menú Resultados | Ejecutar script SQL.

 

© 2017-2023 Altova GmbH