SQL Server导入向导失败难懂的讯息(SQL Server Import wizard fai

2019-07-17 23:42发布

我只是想导入从平面文件的两列到新表。 我已经设置的一列,“代码”,是varchar(50)和另一列,“说明”,是nvarchar(max)

导入失败与以下消息:

- Executing (Error)
Messages
Error 0xc02020a1: Data Flow Task 1: Data conversion failed. The data conversion for column "Description" returned status value 4 and status text "Text was truncated or one or more characters had no match in the target code page.".
 (SQL Server Import and Export Wizard)

Error 0xc020902a: Data Flow Task 1: The "output column "Description" (14)" failed because truncation occurred, and the truncation row disposition on "output column "Description" (14)" specifies failure on truncation. A truncation error occurred on the specified object of the specified component.
 (SQL Server Import and Export Wizard)

Error 0xc0202092: Data Flow Task 1: An error occurred while processing file "C:\Users\rinaldo.tempo\Desktop\ICD10_Edition4_CodesAndTitlesAndMetadata_GB_20120401.txt" on data row 3.
 (SQL Server Import and Export Wizard)

Error 0xc0047038: Data Flow Task 1: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.  The PrimeOutput method on component "Source - ICD10_Edition4_CodesAndTitlesAndMetadata_GB_20120401_txt" (1) returned error code 0xC0202092.  The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.  There may be error messages posted before this with more information about the failure.
 (SQL Server Import and Export Wizard)

该错误信息显示给我,因为它是被放置在“说明”一栏,这是类型的数据是越来越截断nvarchar(max) ! 已经直勾勾地输入数据,我想说的描述是从来没有超过约2或300个字符,所以这是不可能的。

任何人都可以提出这里有什么问题?

Answer 1:

对于字符串列的默认大小,在进口,是50个字符。 此截断发生之前的数据去你的数据库。 你应该在导入向导的第一步调整这一点,在Columns部分。



Answer 2:

错误

“文本被截断或一个或多个字符在目标代码页不匹配。”

即使当源平面文件是Unicode文件目标列被定义为可能会发生nvarchar(max)

SSIS从扫描行的数量有限,使一个受过教育的猜测源文件中的推断的数据类型。 由于不断重复的尝试得到它的工作,它停放的数据类型的元数据OutputColumnWidth到50个字符沿途某处,导致截断内部的包。

考虑在数据源的“高级”选项卡中的元数据来解决问题。



Answer 3:

你也凸轮试试这个。

选择所有nvarchar列作为Dt_NTEXT在预先TAB,然后在数据转换中,选择DT_WSTR (UNICODE_STRING)为别名列的所有Nvarchar数据字段。

它为我工作:)。 试试吧



Answer 4:

我得到这个消息,以及尝试加载一个275列的表格。 无论我做什么,我不能得到消息去了。 一次改变一列是真的很难。 修复一个,在另一个得到一个错误。 再加上一些似乎并不固定。

然后,我删除了所有“:”和“”从制表符分隔源文件的字符,它加载就好了。



文章来源: SQL Server Import wizard fails with incomprehensible message