Sql server 如何在SSIS或其他工具中处理包含许多被抑制列的参差不齐的右文本文件?
对于以CRLF结尾的单个尾随字段而言,ragged right flat file选项非常有用,但是当任意数量的尾随字段为空且行以CRLF提前终止时,我在SSIS中没有其他选择,只能用单个“余数”读取其中的几列列,然后使用派生列转换和子字符串操作逐个提取“可选”列 我想到的一种可能性是,在连接管理器获得线路之前,是否有任何方法使线路通过SSIS中的“padder”组件。然后,您可以获得使用连接管理器设置传入列长度的所有好处。我总是可以创建一个外部程序(或一个完全独立的SSIS数据流)来传递一个文件,该文件将在每一行中填充空格(对于右边不规则的行,只需为每一行添加相同的最小空格数即可),但这看起来确实浪费了磁盘空间,而且还需要再次完全读取(和写入)文件 或者,可能有第三方数据源组件,如果行过早终止,该组件将简单地为NULL或空白,并自动显示列Sql server 如何在SSIS或其他工具中处理包含许多被抑制列的参差不齐的右文本文件?,sql-server,ssis,text-files,etl,Sql Server,Ssis,Text Files,Etl,对于以CRLF结尾的单个尾随字段而言,ragged right flat file选项非常有用,但是当任意数量的尾随字段为空且行以CRLF提前终止时,我在SSIS中没有其他选择,只能用单个“余数”读取其中的几列列,然后使用派生列转换和子字符串操作逐个提取“可选”列 我想到的一种可能性是,在连接管理器获得线路之前,是否有任何方法使线路通过SSIS中的“padder”组件。然后,您可以获得使用连接管理器设置传入列长度的所有好处。我总是可以创建一个外部程序(或一个完全独立的SSIS数据流)来传递一个文
还有其他选择吗?我认为你提出的解决方案听起来很合理。磁盘空间很便宜。完全可以接受两步流程,即在导入数据之前清理格式。使用脚本组件将列分隔为数据源