¿Alguien puede explicar la magia de Opendatasource / Openrowset?

8

Al extraer información de un archivo de Excel (o ms-access DB), normalmente uso algo como esto:

SELECT *
 FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
 'Data Source=C:\test.xls;Extended Properties=''EXCEL 12.0;HDR=NO;IMEX=1'' ')...[Sheet1$]

A veces funciona. A veces no.

¿Alguien sabe una guía para configurar esto?

Sé sobre la carpeta temporal, sé sobre la descarga de los controladores correctos, sé sobre las propiedades extendidas, sé sobre no tener el archivo abierto. A veces, sin embargo, sigo teniendo el ...

El proveedor OLE DB "Microsoft.ACE.OLEDB.12.0" para el servidor vinculado "(nulo)" devolvió el mensaje "Error no especificado".

Me encontré con este problema ayer. Reinicié mi máquina, no funcionó. Luego reinicié mi instancia nuevamente y P00f! Mágicamente funcionó.

Esa es mi pregunta: al obtener el asombroso "Error no especificado", ¿qué debe verificar para asegurarse de que todas las estrellas estén en línea para que esto funcione?

SqlSandwiches
fuente

Respuestas:

2

Verifica el Visor de eventos de Windows. Busque en los registros de aplicaciones, registros de seguridad y registros del sistema. Si has aclarado todas las cosas obvias (y parece que sí), entonces podría ser cualquier cosa. La carpeta del archivo podría tener seguridad de dominio de Windows, y su máquina podría no ser capaz de autenticarse contra DC, por ejemplo.

Brent Ozar
fuente