SQl üzerinden Excel verisini okuma veya SQl tablosuna Direk yazmak isterseniz , bana lazım olmuştu başka arkadaşlarında işine yararsa diye burada paylaşıyorum.
Öncelikle sp_configure den "Ad Hoc Distributed Queries" açılmalı
Kod:
sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO
sonrasında provider kısmına* "Microsoft.ACE.OLEDB.12.0" eklenmeli .* *
Dosyadan direk okumak için
Kod:
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',* 'Excel 12.0;Database=C:\ExcelDosyaismi.xlsx','SELECT * FROM [Sheet1$]');
Okunan dosyayı direk SQl e tabloya yazmak için.
Kod:
SELECT * INTO dbo.tempEXCEL
FROM OPENROWSET
('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\out\ExcelDosyaismi.xlsx;HDR=YES;IMEX=1','SELECT * FROM [Sheet1$]')
GO
Öncelikle sp_configure den "Ad Hoc Distributed Queries" açılmalı
Kod:
sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO
sonrasında provider kısmına* "Microsoft.ACE.OLEDB.12.0" eklenmeli .* *
Misafirler için gizlenen link, görmek için
Giriş yap veya üye ol.
* *tıklayarak indirip kurmalısınız.Dosyadan direk okumak için
Kod:
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',* 'Excel 12.0;Database=C:\ExcelDosyaismi.xlsx','SELECT * FROM [Sheet1$]');
Okunan dosyayı direk SQl e tabloya yazmak için.
Kod:
SELECT * INTO dbo.tempEXCEL
FROM OPENROWSET
('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\out\ExcelDosyaismi.xlsx;HDR=YES;IMEX=1','SELECT * FROM [Sheet1$]')
GO