Pregunta

En una aplicación .NET de 32 bits, puedo usar esta cadena de conexión OLEDB para conectarme a un archivo CSV a través de ADO.NET:

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\foo;"

o este ODBC:

"Driver={{Microsoft Text Driver (*.txt; *.csv)}};Dbq=c:\foo"

Sin embargo, aparentemente no hay versiones de 64 bits de los controladores OLEDB Jet o del controlador de texto ODBC.

Podría analizar el CSV línea por línea o ejecutar la aplicación en modo de 32 bits, pero idealmente me gustaría encontrar un controlador diferente que funcione como 64 bits.

¿Alguna idea?

¿Fue útil?

Solución

No es un controlador, pero estoy satisfecho con el lector CSV de Sebastien Lorion. Tenga en cuenta que nunca lo he usado en un entorno de 64 bits, pero no conozco ningún problema de compatibilidad.

http://www.codeproject.com/KB/database/CsvReader.aspx

Otros consejos

Tuve exactamente el mismo problema y después de muchas pruebas & amp; error esto fue lo que encontré que funcionó:

1. Habilitar procedimientos Adhoc

sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO

2. Instale este archivo en el servidor:

http: // www.microsoft.com/downloads/en/details.aspx?familyid=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=en

3. Utilice este formato de consulta:

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=C:\SQL\;HDR=Yes;','SELECT * FROM [test.csv]');

4. Habilite los procedimientos de automatización OLE:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE with override
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE with override;
GO

Alexis,

¿Necesita un controlador? Si solo necesita leer un archivo CSV línea por línea, hay una serie de analizadores gratuitos disponibles. Si también necesita escribir un CSV, consulte FileHelpers .

Terminé teniendo que convertir mi aplicación a 32 bits porque tenía el mismo problema, aunque tenía acceso a una base de datos de Microsoft Access. Sé que esto funcionará, pero es posible que no desee esta solución. Si alguien sabe la respuesta a esta pregunta, me encantaría escucharla también.

Estás de suerte: en diciembre de 2010, Microsoft publicó un controlador OLEDB de 64 bits para archivos CSV y XLSX.

Vea esta respuesta para enlaces de descarga, detalles de instalación, conexión cadenas, etc.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top