我们有一个二进制文件(来自电信系统)。SSIS能读吗?
根据我所阅读的内容Raw File Source
,它只能读取由Raw File Destination
. 那是对的吗?
是的Raw File
,SSIS 用语是一种专有的二进制格式,主要旨在降低只能由 SSIS 引擎生成和使用的加载速度、可移植性和大小。
为了能够在 SSIS 中读取二进制文件,需要对其进行预处理。我的意思是,您需要获取有关从中提取数据的正确程序的文档。
来自原始文件源官方文档::
原始文件源从文件中读取原始数据。因为数据的表示是源本地的,所以数据不需要翻译,也几乎不需要解析。这意味着原始文件源可以比平面文件和 OLE DB 源等其他源更快地读取数据。
原始文件源用于检索以前由原始文件目标写入的原始数据。您还可以将原始文件源指向仅包含列的空原始文件(仅元数据文件)。您使用原始文件目标生成仅元数据文件,而无需运行包
您可以在以下链接中查看原始文件的使用示例:
我认为在 SSIS 中,您应该使用脚本组件作为源(在数据流任务中)来反序列化二进制文件并实现自己的逻辑来生成输出列。
您可以查看以下链接以获得更多见解:
脚本组件作为源
使用 C# 将二进制转换为字符串
此时的答案是,SSIS 无法读取格式与Raw File Destination
.
您可以使用创建自定义 SSIS 组件类并将其注册以在 SSIS 中使用。
开发自定义 SSIS 源组件不适合胆小的人。
另一种方法是编写程序将二进制文件转换为 SSIS 可以读取的文件或将输出加载到数据库表中。SSIS 可以为您做的事就这么多。