tabla - query para importar datos de excel a sql
El proveedor OLE DB ''Microsoft.Jet.OLEDB.4.0'' no puede usarse para consultas distribuidas (2)
Según este hilo,:
Microsoft.Jet.OLEDB.4.0 no es compatible con sistemas operativos de 64 bits
Suponiendo que está ejecutando SQL Server de 64 bits, es probable que necesite el Motor de base de datos de Microsoft Access 2010 redistribuible de 64 bits .
Y tenga en cuenta que hay un pequeño problema cuando intente instalar el software si la otra versión ya está instalada. En este caso, instale la segunda versión desde la línea de comandos con el modificador / passive . Según este hilo :
Al iniciar la instalación de un proveedor de Microsoft ACE OLEDB en una máquina con una instalación de Office diferente a la actual (por ejemplo, 32 en 64), la instalación fallará. Para que funcione correctamente, debe iniciarlo desde una línea de comando con el argumento "/ passive" especificado.
Se trata de una instalación de Office existente, pero lo mismo se aplica a las instalaciones de motores de bases de datos coexistentes.
EDITAR: También asegúrese de usar "Microsoft.ACE.OLEDB.12.0" no "Microsoft.Jet.OLEDB.4.0" para la cadena del proveedor. (Apoyos a @Rumi)
Quiero importar datos de Excel a SQL Server mediante consultas, no mediante un asistente. He intentado esta consulta:
Select * INTO g FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',
''Excel 12.0;Database=D:/new.xlsx;HDR=YES'', ''SELECT * FROM [newSheet$]'');
Pero, estoy recibiendo este error:
Mensaje 7308, Nivel 16, Estado 1, Línea 1
El proveedor OLE DB ''Microsoft.Jet.OLEDB.4.0'' no se puede usar para consultas distribuidas porque el proveedor está configurado para ejecutarse en modo apartamento de un solo hilo.
Así que busqué en Google, y obtuve respuestas como:
sp_configure ''show advanced options'', 1;
GO
RECONFIGURE;
GO
sp_configure ''Ad Hoc Distributed Queries'', 1;
GO
RECONFIGURE;
GO
Incluso después de reconfigurarlo me está mostrando el mismo error ...
Utilice SQL como a continuación:
SELECT * into temptable FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'', ''Excel 12.0;Database=D:/new.xlsx'',''select * from [sheet1$]'')