Problema no SQL Bulkcopy AAAAMMDD

Eu tenho um problema de conversão String para Data usando o SQL Bulkcopy no asp.net 3.5 com C #

Eu li um arquivo CSV grande (comLeitor CSV) Uma das seqüências lidas deve ser carregada em uma coluna Data do SQL Server 2008.

Se o arquivo de texto contiver, por exemplo, a cadeia '2010-12-31', o SQL Bulkcopy o carregará sem problemas na coluna Data.

No entanto, se a sequência for '20101231', eu recebo um erro:
O valor fornecido do tipo String da fonte de dados não pode ser convertido para a data do tipo da coluna de destino especificada

O arquivo contém 80 milhões de registros, portanto não consigo criar uma tabela de dados ....

SqlBulkcopy Columnmappings etc. estão todos ok. Mudar para DateTime também não ajuda.

eu tentei

SET DATEFORMAT ymd;

Mas isso não ajuda.

Alguma idéia de como dizer ao SQL Server para aceitar este formato? Caso contrário, criarei uma correção personalizada no leitor CSV, mas preferiria algo no SQL.

atualizar Seguindo as duas respostas, estou usando o SQL bulkcopy assim (conforme proposto no Stackoverflow em outra pergunta):

O leitor de CSV (consulte o link acima no codeproject) retorna valores de sequência (não digitados com firmeza). O CSVreader implementa System.Data.IDataReader para que eu possa fazer algo assim:

using (CsvReader reader = new CsvReader(path)) 
using (SqlBulkCopy bcp = new SqlBulkCopy(CONNECTION_STRING))
{ bcp.DestinationTableName = "SomeTable"; 
  // columnmappings
  bcp.WriteToServer(reader); } 

Todos os campos provenientes do iDataReader são cadeias de caracteres, portanto, não posso usar a abordagem c # a menos que mude um pouco no CSVreader

Minha pergunta, portanto, não está relacionada a como corrigi-lo em C #, posso fazer isso, mas quero impedir isso.

É estranho, porque se você faz um sql algo como

 update set [somedatefield] = '20101231' 

também funciona, mas não com o bulkcopy.

Alguma idéia do porquê?

Obrigado por qualquer conselho, Pleun

questionAnswers(3)

yourAnswerToTheQuestion