El separador decimal, CurrentCulture y ado.net
Necesito modificar el separador decimal del sistema debido a que es la única
forma que conozco para que funcionen ficheros CSV con la "," como
delimitador de campo y necesito utilizar este tipo de fichero como entrada
de una base de datos.
El problema es que he estado probando ciertas cosas con el
System.Globalization tales como
Thread.CurrentThread.CurrentCulture = New CultureInfo("en-US", False)
y al parecer ado.net y OleDb hacen caso omiso de la cultura que establezcas
para el Framework 2.0 y la aplicación.
En VB6 utilizaba la API de Win32 para establecer el CurrencyDecimalSeparator
y el NumberDecimalSeparator a "." del sistema mientras obtenía los datos de
los ficheros y posteriormente reestablecer a su valor original con el fin de
evitar el temido error...
'El separador de campos de la especificación de archivo de texto coincide
con el separador decimal o el delimitador de texto.'
Después de muchas horas de insomnio no he encontrado nada que me sirva de
ayuda y que no haya probado así que si alguien que tenga el "know how" del
asunto es tan amable de echarme una mano le estaré agradecido.
Leer las respuestas