Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
SQL üzerinden Excel dosyasını okuma
#1
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ı


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 .   Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.   tıklayarak indirip kurmalısınız.

Dosyadan direk okumak için
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.


SELECT * INTO dbo.tempEXCEL
FROM OPENROWSET
('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\out\gunok.xlsx;HDR=YES;IMEX=1','SELECT * FROM [URUN$]')
GO
Cevapla
#2
Yanlış hatirlamiyirsam mssql server da etl ler vardı bu isleri yapmak icin. Istediginiz tabloya insert vs islemlerini gerceklestirebiliyirdunuz.
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#3
Teşekkürler,@Bay_Y
Excelin client makinada yüklü olması yeterli mi yoksa sunucuda da kurulu olmalı mı?
İmam Süleyman Yakub <--> Molla Mustafa Mansur
Evlatlarım!
Cismanımız TÜRK ruhumuz ise İSLAM.
Bu yolda daim olalım her an.
Cevapla
#4
(07-08-2019, Saat: 19:39)ahmet_sinav Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Teşekkürler,@Bay_Y
Excelin client makinada yüklü olması yeterli mi yoksa sunucuda da kurulu olmalı mı?

MSSQL üzerinde direk Import data diyerek Provider Excel Seçip Talobya yada yeni tablo olarak içeri veri çekebilirsiniz.
Cevapla
#5
(08-08-2019, Saat: 02:57)FiRewaLL Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(07-08-2019, Saat: 19:39)ahmet_sinav Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Teşekkürler,@Bay_Y
Excelin client makinada yüklü olması yeterli mi yoksa sunucuda da kurulu olmalı mı?

MSSQL üzerinde direk Import data diyerek Provider Excel Seçip Talobya yada yeni tablo olarak içeri veri çekebilirsiniz.

Teşekkürler ,  Bu işlem daha çok delphi içinden Store procedure ile sabit olan bir dosyadan ziyade değişen dosyalar için yapılabilir diye düşünüyorum. Ben bu şekilde ürün ve reçete bilgilerini içeri almada kullanıyorum. Bu şekilde kullanılabilir diye ekledim. Benim çok işime yaradım umarım başkalarının da işini görür.

(07-08-2019, Saat: 19:39)ahmet_sinav Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Teşekkürler,@Bay_Y
Excelin client makinada yüklü olması yeterli mi yoksa sunucuda da kurulu olmalı mı?

SQL sorgusunun çalışacağı bilgisayarda Microsoft.ACE.OLEDB.12.0   kurulu olması yeterli  , Office eklentisi aslında ama standart offfice kurulumunda sanırım Provider eklentisi yok , Bunu kurarsanız Client bilgisayarında Office yüklü olmasına gerek yok. MSSQL  üzerindeki provider yardımı ile okuyabilirsiniz.
Cevapla




Konuyu Okuyanlar: 1 Ziyaretçi