使用SSIS读取二进制文件

时间:2019-03-04 20:19:31

标签: ssis binary etl raw-file

我们有一个二进制文件(来自电信系统)。 SSIS可以阅读吗?

根据我对Raw File Source的了解,它只能读取Raw File Destination创建的文件。正确吗?

3 个答案:

答案 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可以为您做的事情太多了。

相关问题