Principales respuestas
Select a Excel sql 2012

Pregunta
-
Respuestas
-
Hola, podrías instalar ACE de 64 bits
https://www.microsoft.com/en-us/download/details.aspx?id=13255
, es probable que tu sql sea de la versión de 64 bits, si le das
select @@version lo comprobarías.
JET corre a 32 bits por lo que no va a funcionar con tu versión de SQL
y luego de instalar deberías hacer una query como esta
SELECT * --INTO #MITABLA FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0 Xml;HDR=YES;Database=D:\CARPETA_EXCEL\excel_prueba.xlsx', 'SELECT * FROM [Hoja1$]');
Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.
- Editado Augusto1982 miércoles, 30 de noviembre de 2016 17:13
- Propuesto como respuesta Joyce_ACModerator miércoles, 30 de noviembre de 2016 18:49
- Marcado como respuesta Joyce_ACModerator miércoles, 7 de diciembre de 2016 15:44
Todas las respuestas
-
Podrías crear un servidor vinculado (Linked Servers) o utilizar OPENROWSET, algo como:
INSERT INTO OPENROWSET ('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0; Database=c:\NombreArchivo.xls;','SELECT Col1, Col2 FROM dbo.NombreTabla')
Debes cuidar en especificar de manera correcta el nombre del proveedor
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios. -
Ejecuto esto:
INSERT INTO OPENROWSET ('Microsoft.Jet.OLEDB.4.0','Excel 8.0; Database=c:\Test.xls;','select nombre from Tabla')
Me marca error:
Msg 102, Level 15, State 1, Line 1
Sintaxis incorrecta cerca de ')'.DBA SQL Server Santiago/Chile
-
Ahora probe:
SELECT *
FROM OPENROWSET ('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\Test.xlsx','select nombre from Tabla');No me da error de sintaxis.
Pero me devuelve:
No se puede crear una instancia del proveedor OLE DB "Microsoft.Jet.OLEDB.4.0" para el servidor vinculado "(null)".
Entiendo que debo instalarlo, o mejor instalo Microsoft.ACE.OLEDB.12.0
Es un servidor de producción no quisiera instalar algo que afecte.
DBA SQL Server Santiago/Chile
-
Hola, podrías instalar ACE de 64 bits
https://www.microsoft.com/en-us/download/details.aspx?id=13255
, es probable que tu sql sea de la versión de 64 bits, si le das
select @@version lo comprobarías.
JET corre a 32 bits por lo que no va a funcionar con tu versión de SQL
y luego de instalar deberías hacer una query como esta
SELECT * --INTO #MITABLA FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0 Xml;HDR=YES;Database=D:\CARPETA_EXCEL\excel_prueba.xlsx', 'SELECT * FROM [Hoja1$]');
Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.
- Editado Augusto1982 miércoles, 30 de noviembre de 2016 17:13
- Propuesto como respuesta Joyce_ACModerator miércoles, 30 de noviembre de 2016 18:49
- Marcado como respuesta Joyce_ACModerator miércoles, 7 de diciembre de 2016 15:44