title: Inserting GUIDs with SqlBulkCopy
body: <p>I'm trying to do a bulk insert with the <code>SqlBulkCopy</code> class from flatfiles created by the SQL Server Management Import Export Wizard. The files are comma separated.</p>
  
  <p>One row in the file can look like this:</p>
  
  <blockquote>
    <p>{DCAD82A9-32EC-4351-BEDC-2F8291B40AB3},,{ca91e768-072d-4e30-aaf1-bfe32c24008f},900001:1792756,900001:1792757,basladdning,2011-04-29 02:54:15.380000000,basladdning,2011-04-29 02:54:15.380000000,{20A3C50E-8029-41DE-86F1-DDCDB9A78BA5}</p>
  </blockquote>
  
  <p>The error I get is:</p>
  
  <blockquote>
    <p><em>System.InvalidOperationException was unhandled<br>
    Message=The given value of type String from the data source cannot be converted to type
    uniqueidentifier of the specified target column.</em></p>
  </blockquote>
  
  <p>So the problem is the converting from string to GUID.</p>
  
  <p>I have tried the following:</p>
  
  <ul>
  <li>Tried different encodings, UTF8 and ANSI</li>
  <li>Removed the { } surrounding the GUIDS</li>
  <li>Added ' ' around the GUIDS, with and without { }</li>
  </ul>
  
  <p>Any suggestions? In the flat file where the '' is, is a column that also has Guid as datatype. The column is NULL where the wizard exported it as ''. Can that be the problem?</p>
  
  <p>The code:</p>
  
  <pre><code>using (var file = new StreamReader(filePath))
  using (var csv = new CsvReader(file, false)) 
  using (var bcp = new SqlBulkCopy(CreateConnectionString()))
  {
      bcp.DestinationTableName = "table";
      bcp.WriteToServer(csv);
  }
  </code></pre>
  
  <p>Table definition:</p>
  
  <pre><code>CREATE TABLE [beata].[T_FeatureInstance]( 
      [FeatureInstanceId] [uniqueidentifier] NOT NULL, 
      [FeatureInstanceParentId] [uniqueidentifier] NULL, 
      [FeatureTypeAliasId] [uniqueidentifier] NOT NULL, 
      [Uuid] [varchar](1000) NOT NULL, 
      [VersionId] [varchar](50) NOT NULL, 
      [SkapadAv] [varchar](255) NULL, 
      [Skapad] [datetime] NOT NULL, 
      [UppdateradAv] [varchar](255) NOT NULL, 
      [Uppdaterad] [datetime] NOT NULL, 
      [Gs] [uniqueidentifier] NOT NULL,
  </code></pre>