我们有一个二进制文件(来自电信系统)。 SSIS可以阅读吗?
根据我对Raw File Source
的了解,它只能读取Raw File Destination
创建的文件。正确吗?
答案 0 :(得分:1)
来自Raw file source official documentation::
原始文件源从文件读取原始数据。因为数据的表示是源的本地数据,所以数据不需要转换,也几乎不需要解析。这意味着Raw File源可以比其他源(例如Flat File和OLE DB源)更快地读取数据。
原始文件源用于检索先前由“原始文件”目标写入的原始数据。您也可以将“原始文件”源指向一个仅包含列的空原始文件(仅元数据文件)。您可以使用Raw File目标来生成仅元数据的文件,而不必运行程序包
您可以在下面的链接中查看Raw文件的用法示例:
我认为在SSIS中,您应该使用脚本组件作为源(在数据流任务中)以反序列化二进制文件并实现自己的逻辑以生成输出列。
您可以检查以下链接以获得更多见解:
脚本组件作为源
使用C#将二进制文件转换为字符串
答案 1 :(得分:1)
是的,在SSIS中,Raw File
是专有的二进制格式,旨在主要降低只能由SSIS引擎产生和消耗的负载速度,可移植性和大小。
要能够在SSIS中读取二进制文件,需要对其进行预处理。我的意思是,您需要获取有关从中提取数据的正确程序的文件。
答案 2 :(得分:0)
目前的答案是SSIS无法读取二进制文件,该二进制文件的格式与Raw File Destination
生成的文件格式不同。
您可以使用创建自定义SSIS组件类并将其注册以在SSIS中使用。
Developing a Custom SSIS Source Component不是为了虚弱。
另一种方法是编写一个程序,将二进制文件转换为SSIS可以读取的文件,或将输出加载到数据库表中。 SSIS可以为您做的事情太多了。