【发布时间】:2020-07-25 01:00:58
【问题描述】:
我是 SSIS 开发的新手。我需要 SSIS 专家的一些指导。以下是问题列表:
我们有大小从 1GB 到 25GB 的 txt 或 dat 类型的文件,以制表符分隔。有时,这些文件可能包含无效行、无效数据类型或大量字符串值,导致将文件数据导入 SQL 表时失败
任何人都可以提供使用如何在加载到实际的 SQL 表之前对文件执行数据分析,例如
- 列中具有 NULL 值的无效行数
文件中存在的行数
列中数据类型值错误的行数例如:有文件保存的机会
int 字段中的字符串数据 - 有时行分隔符在列之间,例如:如果文件中有 10 列,如果在 5-6 列之间存在行分隔符,这会导致当前行数据从 6 - 10 列移动到下一行。应在 Data Profiler 中检查此方案。
- 在 SSMS 中是否有办法识别每行中的所有列都具有相等的列长度。如果它不存在抛出错误。但是识别这些行需要更快
【问题讨论】:
-
非常假设的情况!需要深入分析以提供适当的反馈。
-
定义“无效行”。我建议您首先将所有行导入单个
VARCHAR字段以检查相等的列长度。如果通过,您可以进入下一步,导入表中的多个VARCHAR字段,并使用IS NULL、IS_NUMERIC、LEN等内容对它们进行检查。究竟是哪个版本的SQL?因为 SQL Server 2012 具有一些高级功能。另一种方法是编写一个外部控制台应用程序,该应用程序首先使用字符串函数检查文件并将其放入通过或失败文件夹中。
标签: sql ssis data-profiling