title: SqlBulkCopy throws System.FormatException when running WriteToServer(DataTable)
body: <p>Currently I'm writing a method to read data from a CSV file and import to a SQL table.</p>
  
  <pre><code>        DataTable dt = new DataTable();
          String line = null;
          int i = 0;
  
          while ((line = reader.ReadLine()) != null)
          {
              String[] data = line.Split(',');
              if (data.Length &gt; 0)
              {
                  if (i == 0)
                  {
                      foreach (object item in data)
                      {
                          DataColumn c = new DataColumn(Convert.ToString(item));
                          if (Convert.ToString(item).Contains("DATE"))
                          {
                              c.DataType = System.Type.GetType("System.DateTime");
                          }
                          else { c.DataType = System.Type.GetType("System.String"); }
                          dt.Columns.Add(c);
                      }
                      i++;
                  }
                  else
                  {
                      DataRow row = dt.NewRow();
                      for (int j = 0; j &lt; data.Length; j++)
                      {
                          if (dt.Columns[j].DataType == System.Type.GetType("System.DateTime"))
                          {
                              row[j] = Convert.ToDateTime(data[j]);
                          }
                          else
                          {
                              row[j] = data[j];
                          }
                      }
                      dt.Rows.Add(row);
                  }
              }
          }
          SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings[Constant.CONNECTION_STRING_NAME].ConnectionString);
          SqlBulkCopy s = new SqlBulkCopy(con);
          s.DestinationTableName = "abc";
          con.Open();
          s.WriteToServer(dt);
  </code></pre>
  
  <p>The problem when running this method, an Exception is always thrown at s.WriteToServer(dt); saying</p>
  
  <p>System.FormatException: The string was not recognized as a valid DateTime. There is a unknown word starting at index 0.</p>
  
  <p>I debugged and see all the data were loaded into DataTable correctly.
  Here is an example of a data row in my CSV file</p>
  
  <pre><code>DATA_VENDOR_ID,DATA_VENDOR_SUB_ID,DATA_VENDOR_CLIENT_ID,DATA_VENDOR_ACTIVITY_CODE,ACTIVITY_NAME,EFFECTIVE_DATE,ACTIVITY_LEVEL1,ACTIVITY_LEVEL2,ACTIVITY_LEVEL3,ACTIVITY_LEVEL4,ACTIVITY_LEVEL5,PARTICIPANT_ID,DATA_VENDOR_ALT_ID,FILE_CREATION_DATE,INC_VALUE    
  V01,,22097,ABCD01,Physical Activity,10/01/2010,Entertain Kiosk,ABCD - EFG 54,30,,AB01,W1234567891,,08/07/2006,100
  </code></pre>
  
  <p>and my SQL table schema:</p>
  
  <pre><code>RowID   int Unique/AutoIncrement
  DataVendorId    varchar(32) 
  DataVendorSubId varchar(32) 
  DataVendorClientId  varchar(32) 
  DataVendorActivityCode  varchar(32) 
  ActivityName    varchar(64) 
  EffectiveDate   datetime    
  ActivityLevel1  varchar(253)    
  ActivityLevel2  varchar(253)    
  ActivityLevel3  varchar(253)    
  ActivityLevel4  varchar(253)    
  ActivityLevel5  varchar(253)    
  ParticipantID   varchar(32) 
  DataVendorAltId varchar(32) 
  FileCreationDate    datetime    
  IncValue    varchar(5)  
  CreatedDate datetime    optional/allow null
  ModifiedDate    datetime    optional/allow null
  </code></pre>