Excepción OleDBException “is not a valid path”
Al trabajar con archivos CSV junto al conector OleDbConnection es posible obtener la excepción OleDBException … “is not a valid path“.
Claramente es un error respecto a la ruta del archivo, ocurrido generalmente por que hemos definido la ruta completa del archivo en Data Source de nuestro string de conexión. Sin embargo, cuando trabajamos con archivos CSV junto a OleDbConnection, es necesario indicar la ruta del directorio en Data Source y luego con el objeto OleDbDataAdapter, definimos el nombre del archivo en nuestro query.
Un “código fuente” habla más que mil palabras xD.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.OleDb; using System.Data; namespace TestCSVReader { class Program { static void Main(string[] args) { OleDbConnection con; DataSet dset; OleDbDataAdapter dadp; DataTable table; String csvDir = "D:\\public\\review\\"; String csvFile = "my_very_little_and_funny_file.csv"; con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+csvDir+";Extended Properties=\"Text;HDR=Yes\""); con.Open(); dadp = new OleDbDataAdapter("SELECT * FROM ["+csvFile+"]", con); dadp.TableMappings.Add("tbl", "Table"); dset = new DataSet(); dadp.Fill(dset); table = dset.Tables[0]; Console.WriteLine(table.Rows[0][0]); Console.ReadKey(); } } }