|  | Posted by Erland Sommarskog on 10/10/07 21:20 
(bob.speaking@gmail.com) writes:> I'm trying to bulk insert a uniqueidentifier column from unicode file.
 > In my file I have guid generated from c# application and they are
 > formatted in this way (separated by "|") :
 >
 > guid | field1 | field2
 > fc0c0c42-438e-4897-96db-8b0489e873ef|field1|field2
 >
 > In my destination table I have three column:
 > id (uniqueidentifier)
 > field1 (nvarchar)
 > field2 (nvarchar)
 >
 > I use in bulk insert a format file like this :
 >
 > 9.0
 > 3
 > 1     SQLNCHAR     0     0     "|\0"     1     ID     Latin1_General_CI_AS
 > 2     SQLNCHAR     0     0     "|\0"     2     Field1
 Latin1_General_CI_AS
 > 3     SQLNCHAR     0     0     "|\0"     3     Field2
 Latin1_General_CI_AS
 
 Does the file really consist of one single line?
 
 Assuming that you have one record per line in the file, the terminator
 for field 3 should be \r\0\n\0. What happens now is that Field2 in the
 first record extends into the GUID in the second record, and then it
 goes downhill from there.
 
 > I've also tried to specify in FMT file SQLUNIQUEID instead of SQLNCHAR
 > and it works perfectly but it imports another data. For example the
 > guid fc0c0c42-438e-4897-96db-8b0489e873ef became
 > 00350031-0039-0033-3100-300030003000
 
 SQLUNIQUEID is what you would use in a binary file. It's not applicable
 here.
 
 
 --
 Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
 
 Books Online for SQL Server 2005 at
 http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
 Books Online for SQL Server 2000 at
 http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
  Navigation: [Reply to this message] |