Mostrando entradas con la etiqueta Excel. Mostrar todas las entradas
Mostrando entradas con la etiqueta Excel. Mostrar todas las entradas

viernes, 22 de junio de 2012

La tabla externa no tiene el formato esperado. System.Data.OleDb.OleDbException

Problema

   1: Se detectó System.Data.OleDb.OleDbException



   2:   HResult=-2147467259



   3:   Message=La tabla externa no tiene el formato esperado.



   4:   Source=Microsoft JET Database Engine



   5:   ErrorCode=-2147467259



   6:   StackTrace:




Diagnóstico



En mi caso este error lo recibí por no utilizar el provider correcto en driver. Estoy utilizando un archivo de Excel versión 2010 con extensión “xlsx” y el driver está referido a versión antigua “xls”





   1: <add name="ExcelConnectionString"



   2:       connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\archivo.xls;Persist Security Info=False;Extended Properties=&quot;Excel 8.0;HDR=YES&quot;"



   3:       providerName="System.Data.OleDb" />




Solución



Cambiar el provider y en la cadena de conexión a Excel.





   1: <add name="ExcelConnectionString" 



   2:      connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\archivo.xlsx;Persist Security Info=False;Extended Properties=&quot;Excel 12.0 Xml;HDR=YES;IMEX=1&quot;" 



   3:      providerName="System.Data.OleDb"/>




Nota: debe tener instalados los drivers correctos en su máquina, claro.



Etiquetas de Technorati: ,

viernes, 15 de abril de 2011

El proveedor 'Microsoft.ACE.OLEDB.12.0' no está registrado en el equipo local

Tengo una aplicación que lee datos de un Excel y me sucedió el siguiente error:

Se detectó System.InvalidOperationException
  Message=El proveedor 'Microsoft.ACE.OLEDB.12.0' no está registrado en el equipo local.
  Source=System.Data

Entre paréntesis, mi cadena de conexión a Excel es:

Code Snippet
  1. <add name="AserewareExcelDataSource" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=FileName.xlsx;Persist Security Info=False;Extended Properties=&quot;Excel 12.0 Xml;HDR=YES;IMEX=1&quot;" providerName="System.Data.OleDb" />

Bueno después de buscar y encontrar este link, donde al parecer no existe un driver adecuado hice lo siguiente.

Mi máquina es de 64bits y tenía esto en el destino de la plataforma, lo que difiere de lo comentado el vínculo de referencia:

image

Lo cambié a “Any CPU” o bien “x64”:

image

Y listo,… funcionando perfectamente.

Imagino que instalé la versión de 64 bit del driver..que ya está.