Sql-server – Truncation errors importing to SQL Server 2005 from Excel

excelimportsql server

Long story short, I'm taking a bunch of excel documents one by one, and importing them using the Import/Export wizard into a database in SQL Server 2005.

Here's one report (all processes not shown are a "Success"). Is there any way for me to ignore truncation errors? I've googled around to no avail, or at least not in my version.

- Executing (Success)

- Copying to [Datadev].[dbo].[Sheet0$] (Error)
  Messages
  * Error 0xc020901c: Data Flow Task: There was an error with output

column "Value Meaning Description"
(234) on output "Excel Source Output"
(9). The column status returned was:
"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: The "output column "Value

Meaning Description" (234)" failed
because truncation occurred, and the
truncation row disposition on "output
column "Value Meaning Description"
(234)" specifies failure on
truncation. A truncation error
occurred on the specified object of
the specified component.
(SQL Server Import and Export Wizard)

  * Error 0xc0047038: Data Flow Task: SSIS Error Code

DTS_E_PRIMEOUTPUTFAILED. The
PrimeOutput method on component
"Source – Sheet0$" (1) returned error
code 0xC020902A. 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)

  * Error 0xc0047021: Data Flow Task: SSIS Error Code

DTS_E_THREADFAILED. Thread
"SourceThread0" has exited with error
code 0xC0047038. There may be error
messages posted before this with more
information on why the thread has
exited.
(SQL Server Import and Export Wizard)

  * Error 0xc0047039: Data Flow Task: SSIS Error Code

DTS_E_THREADCANCELLED. Thread
"WorkThread0" received a shutdown
signal and is terminating. The user
requested a shutdown, or an error in
another thread is causing the pipeline
to shutdown. There may be error
messages posted before this with more
information on why the thread was
cancelled.
(SQL Server Import and Export Wizard)

  * Error 0xc0047021: Data Flow Task: SSIS Error Code

DTS_E_THREADFAILED. Thread
"WorkThread0" has exited with error
code 0xC0047039. There may be error
messages posted before this with more
information on why the thread has
exited.
(SQL Server Import and Export Wizard)

- Post-execute (Success)
  Messages
  * Information 0x402090df: Data Flow Task: The final commit for the

data insertion has started.
(SQL Server Import and Export Wizard)

  * Information 0x402090e0: Data Flow Task: The final commit for the

data insertion has ended.
(SQL Server Import and Export Wizard)

- Cleanup (Success)
  Messages
  * Information 0x4004300b: Data Flow Task: "component "Destination -

Sheet0$" (323)" wrote 210 rows.
(SQL Server Import and Export Wizard)

Best Answer

When I get truncation errors, I insert 8 dummy rows. Each cell has junk text with length > 256. This forces the detected data type to be varchar(max) instead of varchar(256). If a row is a number column, I have to fill it in with a number (for example, 0) and if it is a date, I have to fill in a dummy date or else the columns will import with null data.

I then delete these junk rows after the import.