Cargue csv en oleDB y fuerce todos los tipos de datos inferidos a la cadena

Estoy tratando de cargar un archivo csv en un datatable usando oledb.

Esto no es un problema pero, desafortunadamente, uno de los campos que parece numérico tiene un valor de cadena en aproximadamente el 3% de los campos y, por lo tanto, no se está completando.

porque estoy convirtiendo el csv en xml, realmente no me importa inferir tipos de datos y simplemente necesito los datos en una cadena, ya que puedo convertirlos más tarde en una fase de Linq2XMl.

Espero poder hacer esto en la cadena de conexión.

No quiero simplemente copiar la tabla, configurarla con nuevas columnas con el tipo de datos que quiero y luego escribir los datos en ella porque eso implicaría cargar el archivo csv dos veces.

¿algunas ideas?

mi cadena de conexión actual es

Proveedor = Microsoft.Jet.OLEDB.4.0; Fuente de datos = "+ thefile.DirectoryName +"; Propiedades extendidas = 'texto; HDR = Sí; FMT = Delimitado' ";

Respuestas a la pregunta(2)

Su respuesta a la pregunta