我们有一个二进制文件(来自电信系统)。SSI可以阅读吗?
从我阅读的有关Raw File Source
的内容中,它只能读取Raw File Destination
创建的文件。这是正确的吗?
是的,SSIS术语中的Raw File
是一种专有的二进制格式,旨在主要降低载荷,可移植性和尺寸的速度,只能由SSIS引擎生产和消耗。
要能够读取SSIS中的二进制文件,需要预处理。我的意思是您需要获取有关从中提取数据的适当过程的文档。
原始文件源
来自原始文件源官方文档::
原始文件源从文件中读取原始数据。由于数据的表示是源代码的,因此数据不需要翻译,几乎不需要解析。这意味着原始文件源可以比其他资源(例如Flat File和Ole DB源)更快地读取数据。
。原始文件源用于检索以前由原始文件目标编写的原始数据。您还可以将原始文件源指向仅包含列(仅元数据的文件)的空的原始文件。您使用原始文件目标生成仅元数据的文件,而无需运行包
您可以在下面的链接中检查原始文件的使用:
- SQL Server - 使用SSIS中的RAW文件
读取二进制数据
我认为在SSIS中,您应该使用脚本组件作为源(数据流任务中)进行序列化二进制并实现自己的逻辑以生成输出列。
您可以检查以下链接以获取更多见解:
脚本组件作为源
- 使用脚本组件创建源
- SSIS脚本组件作为源
使用C#
将二进制转换为字符串- 如何将二进制转换为字符串?
- 将字符串转换为二进制,将二进制转换为c# 中的字符串
目前的答案是,SSIS无法读取与Raw File Destination
产生的文件相同的格式的二进制文件。
您可以使用创建自定义SSIS组件类并注册用于SSIS。
开发一个自定义的SSIS源组件,而不是针对心脏的晕厥。
另一种方法是编写一个程序,将二进制文件转换为可以通过SSIS读取或将输出加载到数据库表中的文件。SSIS可以为您做什么。