J'ai obtenu que cela fonctionne avec une feuille de calcul localement. oublier OPENROWSET
-
Créez une plage nommée dans votre feuille de calcul Excel. Pour ce faire, mettez en surbrillance les colonnes (y compris les en-têtes) souhaitées, cliquez avec le bouton droit de la souris et sélectionnez "Nommer une plage". Donnez-lui un nom, ce sera le nom de votre table.
-
Enregistrez et fermez votre feuille de calcul. SQL Server ne pourra pas y accéder si vous l'avez ouvert.
-
Ajouter un serveur lié. Suivez les instructions de la Section E dans ce qui suit qui vous indique comment ajouter un serveur lié pour les feuilles de calcul Excel :
-
Vous devriez être en mesure d'interroger le DS assez facilement, en suivant à nouveau les instructions.
Voici le code qui fonctionne pour moi :
EXEC sp_addlinkedserver 'ExcelSource4',
'Jet 4.0',
'Microsoft.Jet.OLEDB.4.0',
'c:\sqlss.xls',
NULL,
'Excel 5.0';
GO
SELECT *
FROM ExcelSource4...MyTable2;
Et enfin. Commencez à accepter certaines réponses et votez pour celles qui sont utiles. C'est la pierre angulaire de StackOverflow.