?
Solved

BUL:K INSERT OF UNICODE FILE

Posted on 2002-04-30
6
Medium Priority
?
392 Views
Last Modified: 2008-02-01

I am trying to use BULK INSERT to populate a table in a SQL Server 2000 database from a unicode file.  I am using the following:

BULK INSERT tblTable FROM 'E:\File.txt'
 WITH (
     CHECK_CONSTRAINTS,
     DATAFILETYPE = 'widechar',
     FIELDTERMINATOR = '\0',
     FIRSTROW = 2,
     KEEPIDENTITY,  
     MAXERRORS = 0,  
     ROWTERMINATOR = '\0\n',
     TABLOCK )

but I'm getting an error - "Bulk insert data conversion error (truncation) for row 2, column 1 (fkColumnName)."

The same paramaters (except DATAFILETYPE) for BULK INSERT work fine when the file is ASCII. I have tried \0\0 for FIELDTERMINATOR and \0\0\n for ROWTERMINATOR but this doesn't work.

Anybody any ideas?

0
Comment
Question by:DJWalker
  • 3
  • 3
6 Comments
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 6980661
I think that the codepage option might help.

CODEPAGE [ = 'ACP' | 'OEM' | 'RAW' | 'code_page' ]

Specifies the code page of the data in the data file. CODEPAGE is relevant only if the data contains char, varchar, or text columns with character values greater than 127 or less than 32.

CODEPAGE value Description
ACP Columns of char, varchar, or text data type are converted from the ANSI/Microsoft Windows® code page (ISO 1252) to the SQL Server code page.
OEM (default) Columns of char, varchar, or text data type are converted from the system OEM code page to the SQL Server code page.
RAW No conversion from one code page to another occurs; this is the fastest option.
code_page Specific code page number, for example, 850

Now, if the column in the table is shorter than the data to be inserted, this would explain the "truncation" error...
As the row/columns are indicated, I would look at the file to see which are the differences to the previous rows...

CHeers


0
 

Author Comment

by:DJWalker
ID: 6980781

Thanks for a quick reply.

I have tried your suggestion, but it makes no difference.

One of my tables does have a char column in it, but apart from the NULL terminator, there are no characters in the file greater than 127 or less than 32.

The row and column are the first row and the first column being inserted, the column being a single digit in one case.

The unicode and ASCII data are both the same, ie ASCII and unicode versions of the same file so I think the data itself should be OK.




0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 6980813
could you either post the first lines of the file here, or send it to me?

What i suspect is that the value in the file is longer than what is defined in the database...

CHeers
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 

Author Comment

by:DJWalker
ID: 6982850
I'll send the file by e-mail.

Thanks.
0
 
LVL 143

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 1200 total points
ID: 6985218
First, i can confirm that i get also the problems with your files...
BUT if I use BCP:
bcp testdatabase.dbo.tbltable in c:\tblTable_uni.txt -F2 -w -t\0 -r\0\n -Usa -P
Everything is fine and dandy...

If nothing else works, I can only suggest to use that...

You might try to use the FORMATFILE option, using the parameters of bcp above into a file...

CHeers
0
 

Author Comment

by:DJWalker
ID: 6985461

Thanks for your help.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In part one, we reviewed the prerequisites required for installing SQL Server vNext. In this part we will explore how to install Microsoft's SQL Server on Ubuntu 16.04.
This month, Experts Exchange sat down with resident SQL expert, Jim Horn, for an in-depth look into the makings of a successful career in SQL.
Via a live example, show how to extract information from SQL Server on Database, Connection and Server properties
Using examples as well as descriptions, and references to Books Online, show the different Recovery Models available in SQL Server and explain, as well as show how full, differential and transaction log backups are performed
Suggested Courses

864 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question