Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

BUL:K INSERT OF UNICODE FILE

Posted on 2002-04-30
6
Medium Priority
?
387 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 

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

Nothing ever in the clear!

This technical paper will help you implement VMware’s VM encryption as well as implement Veeam encryption which together will achieve the nothing ever in the clear goal. If a bad guy steals VMs, backups or traffic they get nothing.

Question has a verified solution.

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

In the first part of this tutorial we will cover the prerequisites for installing SQL Server vNext on Linux.
Windocks is an independent port of Docker's open source to Windows.   This article introduces the use of SQL Server in containers, with integrated support of SQL Server database cloning.
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
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.

610 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