配置SSIS组件的错误页面时“错误”和“截断”有什么区别?特别是,什么类型的不同错误可以在“错误”下与截断不同?
答案 0 :(得分:2)
错误属于以下两类之一:错误或截断。
例如:
尝试将包含字母字符的字符串转换为数字会导致错误。由于非法转换和不兼容的数据类型,数据转换,表达式求值以及表达式对变量,属性和数据列的分配可能会失败。
例如:
如果要将15个字符的字符串插入到只有一个字符宽的列中,则可以选择截断该字符串。
答案 1 :(得分:1)
截断是"如果我尝试将250个字符的字符串插入varchar(50)
字段,该怎么办?"或者"如果元数据说DT_STR
的长度为10,我该怎么办,但是数据源给了我一个长度为20的东西?"有些导入是正常的,数据被截断,因此想要以静默方式忽略截断是很常见的。
错误是,"如果我尝试将字符串'ABCXYZ'
插入整数字段,该怎么办?"或者,"如果我尝试将字符串'2015-02-31'
插入日期字段,我该怎么办?"或"如果我尝试插入{{1}怎么办?进入NULL
字段。"大多数情况下,它是数据类型的错误,但可能包括约束错误(唯一性,外键等)。它也将成为截断不涵盖的任何事物。我见过的大多数错误都来自目的地而非来源。字段级别的源错误可能发生在不同的编码中,尤其是unicode与非unicode。当源失败时,它通常不是单个字段的失败,而是整个表,视图或查询的失败,但是,由于SQL的工作方式,但可能是您的源是平面文件。我们让供应商决定更改其文件中字段的顺序,而SSIS对此没有反应。
答案 2 :(得分:0)
“错误”表示“我不能这样做”
“截断”意味着“我可以做到这一点,但我将不得不在某个时刻缩短字符串。”