none
Importar archivo CSV a MDB

    Pregunta

  • Hola amigos:

    Necesito importar un archivo .csv hacia una tabla de una base de datos access de manera masiva.
    Habitualmente importo archivos de texto y/o archivos excel sin problemas. En el caso de los .txt de ancho fijo, utilizo schema.ini como guia de formato.

    En este caso, no puedo convertir .csv a excel por un error en un tipo de datos (códigos de barra), por lo que necesito importar el original .csv. 

    He agregado la definición del archivo a schema.ini y utilizo la misma sentencia que funciona con otros archivos de texto:

    SELECT * INTO [tablaProductos] FROM [Text;DATABASE=C:\datos\].[productos.csv]

    , y me encuentro con el siguiente mensaje de error:
    "El separador de campos de la especificación de archivo de texto coincide con el separador decimal o el delimitador de texto.El separador de campos de la especificación de archivo de texto coincide con el separador decimal o el delimitador de texto.*-2147467259"

    Modifiqué la configuración regional de modo que la coma (,) no estuviera presente ni en la separación decimal ni en la separación de miles, y el error continúa.

    Desde ya agradezco la ayuda.

    saludos afectuosos

    miércoles, 19 de diciembre de 2012 15:28

Todas las respuestas

  • Revisa en mi web el video de [importar]

    si te sirve, te paso el código

    miércoles, 19 de diciembre de 2012 16:44
  • Hola,

    Ojo con los archivos csv, porque esos archivos guardan los registos con la configuracion regional del que lo genero. Cuando ese archivo se intenta leerlo en una PC con una configuraicon regional distinta al que lo genero ahi comienzan los dolores de cabeza.

    Victor Koch.

    miércoles, 19 de diciembre de 2012 17:23
  • En mi caso el archivo a importar (proceso que debo hacer al menos una vez a la semana) tiene siempre la misma estructura, por lo que parametrizando el código no sería necesario siquiera tener una interface de importación.

    Como comenté antes, no tengo problemas con archivos .txt de ancho fijo.

    gracias por el interés
    miércoles, 19 de diciembre de 2012 19:36
  • Tengo entendido que si. En este caso el archivo .csv se genera bajo sistema operativo Unix (no conozco más detalles). El tema es que he manipulado la conf.regional de diversas maneras (siguiendo incluso sugerencia de algunos foros) sin resultado.
    El encabezado de la sección correspondiente de schema.ini es este:

    [productos.csv]
    ColNameHeader=True
    Format=CSVDelimited
    MaxScanRows=25
    CharacterSet=ANSI
    DateTimeFormat=MM-dd-yyyy
    CurrencyDigits=2
    NumberDigits=2
    Col1=Codigo          Integer Width 6
    Col2=Descripcion   Char    Width 37
    Col3=Forma         Char    Width 3
    Col4=Fracciones    Integer Width 5
    ....
    siguen varias  columnas.

    He probado también con 
    Format=Delimited(,)

    con idéntico resultado.

    desde ya muchas gracias

    miércoles, 19 de diciembre de 2012 19:40