彩票走势图

如何在Altova MapForce中进行二进制对象的数据映射?

翻译|使用教程|编辑:况鱼杰|2020-11-30 14:57:18.937|阅读 222 次

概述:Altova MapForce是屡获殊荣的图形数据映射工具,可进行任意转换和集成,其功能包括轻松地将二进制对象与所有流行的关系数据库进行数据映射。可以映射诸如图像,PDF文件,视频文件或任何其他二进制数据的数据。本文将会给大家展示一个例子。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

二进制对象很难在数据库中管理。它们很大,它们的内容是人类不可读的,并且可以包含容易误解为控制字符的数据字节。甚至二进制大对象的数据类型名称(BLOB)也反映了大多数数据库管理者对它们的不满。在关系数据库之前,blob的定义是“未定义或不定的东西”。

Altova MapForce是屡获殊荣的图形数据映射工具,可进行任意转换和集成,其功能包括轻松地将二进制对象与所有流行的关系数据库进行数据映射。可以映射诸如图像,PDF文件,视频文件或任何其他二进制数据的数据。本文将会给大家展示一个例子。

点击立即下载最新版Altova MapForce

MapForce包括两个内置函数,即读二进制文件和写二进制文件,用于在二进制对象和数据库之间进行映射。在本文中,将从MapForce联机帮助中扩展一个读取二进制文件的示例,以构建一个完整的映射,以将各种二进制对象插入到关系数据库中。

这是帮助示例,以说明将图像插入数据库:

二进制文件映射的在线帮助示例

该映射将名为image01.png的本地文件插入数据库表中。我们可以看到数据库的结构在单独的列中包含了一些有关图像的元数据,可以查询这些元数据以提取同一图像。你不会想把大的二进制数据文件转储到数据库中而没有办法在以后找到它们吧。

在用例中,我们将创建一个SQLite数据库来跟踪各种二进制文件,这些二进制文件是支持营销部门多种产品的资产。二进制数据可能是徽标图像文件,产品数据表的PDF,实际产品的屏幕截图,照片,视频文件等。

我们将从一个简单的CSV文本文件开始,以描述我们要插入的信息:

CSV模型用于数据库上传

在我们完成此项目时,用户可能在数据库中拥有数十个甚至数百个资产。当以后需要提取资产时,资产类型的名称将成为查询的关键元数据。但是,如果类型列中的任何单个条目拼写错误或不一致,则巨大的二进制对象将被孤立并且无法恢复。

我们可以通过将CSV文件导入XMLSpy并生成XML Schema(其中从定义的列表中选择Type元素)来实施资产类型的列表。然后,没有经验的营销实习生可以在XMLSpy Grid视图中创建资产列表。强制执行“类型”字段:

XMLSpy网格视图中的数据库上传模型

我们还可以将产品名称列表添加到XML模式,或者至少要求显示Product元素。我们甚至可以将Asset类型设置为xs:anyURI,以强制引用文件。这是XMLSpy Schema视图中的Details helper窗口,其中具有Asset元素的数据类型设置:

上传模型的Asset元素的XMLSchema类型定义

无论从CSV还是XML源进行映射,MapForce中的数据映射二进制对象本质上都是相同的。接下来将从打开一个新的MapForce数据映射开始,然后放入资产列表和数据库表。

源对象列表和数据库表之间的数据映射二进制对象

使用DatabaseSpy创建了一个新的SQLite数据库表,并对MapForce帮助中的示例进行了一些改进。产品列将包含产品名称,资产类型将显示在描述列中。recordDate列将跟踪每个二进制对象的使用期限。

现在,我们将按照MapForce帮助中的说明将id列设置为自动编号,并绘制源和目标之间的简单连接:

源对象列表和数据库表之间的简单映射连接

产品和类型从源直接映射到数据库中的列。映射行元素指示输入的每一行创建新的数据库记录。

现在,将二进制数据映射到数据库中的BLOB:

将二进制对象映射到数据库中的BLOB

内置的MapForce函数read-binary-file使用源的Asset元素中提供的文件名来创建BLOB。read-binary-file函数始终将源视为base64binary数据,无论基于源文件名的约定如何。

要完成映射,我们需要建立连接以从Asset中提取文件名并保存存储日期:

数据映射二进制对象的完整示例

删除文件夹功能会自动从本地文件,网络文件或Web上文件的任何路径中提取文件名。

now函数记录了映射执行的日期和时间,但我们只需要日期,因此我们使用substring-before丢弃了时间。

映射窗格底部的“输出”按钮执行映射并生成一个SQL脚本:

为数据映射二进制对象生成的SQL脚本

该脚本只是到目前为止检查结果的预览。在主“输出”菜单上的选择将运行脚本:

输出菜单选项,用于执行SQL脚本以进行数据映射二进制对象

显示脚本结果:

成功执行数据映射二进制对象后的SQL脚本结果

单击“数据库查询”按钮以连接到数据库,并在MapForce中进一步验证结果:

MapForce数据库查询窗口可验证数据映射二进制对象

通过查看productfile列中的BLOB并不能说明太多,但是其他列会创建有关每种资产的有用元数据。

在后续文章中,将演示数据映射二进制对象以从数据库中提取资产并将其保存为原始形式。如果迫不及待,请下载软件,以开始自己的数据映射,转换项目吧!


如果您想要了解Altova MapForce的正版授权产品,可以点击在线客服>>


标签:二进制

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP