Jag fick detta att fungera med ett kalkylblad lokalt. glöm OPENROWSET
-
Skapa ett namngivet intervall i ditt excel-kalkylblad. Gör så här, markera de kolumner (inklusive rubriker) du vill ha, högerklicka och välj 'Namnge ett intervall'. Ge detta ett namn, detta kommer att vara ditt bordsnamn.
-
Spara och stäng kalkylarket. SQL Server kommer inte att kunna komma åt den om du har den öppen.
-
Lägg till en länkad server. Följ instruktionerna i avsnitt E i det följande som berättar hur du lägger till en länkad server för Excel-kalkylblad:
-
Du bör kunna fråga DS ganska glatt, återigen genom att följa instruktionerna.
Här är koden som fungerar för mig:
EXEC sp_addlinkedserver 'ExcelSource4',
'Jet 4.0',
'Microsoft.Jet.OLEDB.4.0',
'c:\sqlss.xls',
NULL,
'Excel 5.0';
GO
SELECT *
FROM ExcelSource4...MyTable2;
Och slutligen. Börja acceptera några svar och rösta fram eventuella hjälpsamma. Detta är livsnerven i StackOverflow.