使用导入导出向导将DAT文件内容导入SQL Server表 - 错误

时间:2015-12-02 00:07:11

标签: sql-server file import export flat-file

我的.DAT文件看起来像以下格式[没有列名或标题,只有数据]:||是分隔符;所以,我有20个领域。

worth||8000||AC8000||Tal||100||IN||O||2014-01-09 00:00:00||||N||N||N||Y||2014-01-09 00:00:00||Y||19991011||N||Internal||||N

我的SQL数据库表也有20列。

当我使用导入导出向导时,我收到如下错误:

 - Executing (Error)
 Messages
  Error 0xc02020a1: Data Flow Task 1: Data conversion failed. The data conversion for column "Column 0" 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 "Column 0" (10)" failed because truncation occurred, and the truncation row disposition on "output column "Column 0" (10)" 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 "H:\servername\Account.20151201.dat\Account.20151201.dat" on data row 109.
 (SQL Server Import and Export Wizard)

 Error 0xc0047038: Data Flow Task 1: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.  The PrimeOutput method on component "Source - Account_20151201_dat" (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)

注意:我在DB表中的所有列都有255个字符。

请让我知道,如何解决这个问题?如何将其成功导入我的数据库。

1 个答案:

答案 0 :(得分:0)

使用正确的数据类型和数据长度配置平面文件源。似乎从文件接收的数据超过了您定义的导致截断的数据长度。

您的第一个错误显示您尝试在其中一列中导入的文本大于数据库中列的大小(在目标数据库表中), 因此,在数据库中将列大小更改为更大: 更改您的TABLE,为列VARCHAR(255),

设置更多字符

对于第二个错误,您的DAT文件中的某些行似乎有少于或多于20个与您的表不匹配的行,可能会在第109行中显示错误中的一个。 希望它有所帮助