Quelqu'un peut-il expliquer la magie d'Opendatasource / Openrowset?

8

Lorsque je tire des informations d'un fichier Excel (ou d'une base de données à accès ms), j'utilise couramment quelque chose comme ceci:

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

Parfois ça marche. Parfois non.

Est-ce que quelqu'un connaît un guide pour mettre cela en place?

Je connais le dossier temporaire, je sais comment télécharger les bons pilotes, je connais les propriétés étendues, je sais que le fichier n'est pas ouvert. Parfois, cependant, je reçois toujours le -

Le fournisseur OLE DB "Microsoft.ACE.OLEDB.12.0" pour le serveur lié "(null)" a renvoyé le message "Erreur non spécifiée".

J'ai rencontré ce problème hier. J'ai redémarré ma machine - n'a pas fonctionné. Ensuite, j'ai redémarré mon instance et P00f! Comme par magie, cela a fonctionné.

C'est donc ma question - Lorsque vous obtenez l'impressionnante "erreur non spécifiée", que devez-vous vérifier pour vous assurer que toutes les étoiles sont en ligne pour que cela fonctionne.

SqlSandwiches
la source

Réponses:

2

Vérifiez l'Observateur d'événements Windows. Regardez dans les journaux d'application, les journaux de sécurité et les journaux système. Si vous avez cloué toutes les choses évidentes (et cela semble être le cas), cela pourrait être n'importe quoi. Le dossier du fichier peut être protégé par un domaine Windows et votre ordinateur peut ne pas être en mesure de s'authentifier auprès du contrôleur de domaine, par exemple.

Brent Ozar
la source