"'Microsoft.ACE.OLEDB.12.0' sağlayıcısı yerel makinede kayıtlı değil" xlsx'in bir sql sunucusuna aktarılırken hata oluştu


115

64 bit Windows 7 ve SQLServer 2008 R2 (64 bit) kullanıyorum

Excel dosyasını sql sunucusuna aktarmak için buradaki talimatları takip ediyorum ancak bu yazının Figure3 bölümünde excel dosyasına erişmeye çalıştığımda ve bir sonraki tıkladığımda bu hata beni durduruyor:

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine

Yüklemem gerektiğini bildiğim web'de arama yapıyorum AccessDatabaseEngine_x64. ama onu kurduğumda aynı problemim var

Ne yapmam için bana yardım eder misin lütfen?

Yanıtlar:


213

Hatanızı çözmek için aşağıdakileri yükleyin.

2007 Office Sistem Sürücüsü: Veri Bağlantısı Bileşenleri

AccessDatabaseEngine.exe (25,3 MB)

Bu indirme, Microsoft Office Access 2007 (* .mdb ve .accdb) dosyaları ve Microsoft Office Excel 2007 ( .xls, *. Xlsx ve * gibi mevcut Microsoft Office dosyaları arasında veri aktarımını kolaylaştıran bir dizi bileşen yükleyecektir ) . xlsb) dosyalarını Microsoft SQL Server gibi diğer veri kaynaklarına aktarır .


bu sorun benim için SSIS 64 bit çalıştırmamı açtıktan sonra ortaya çıkıyor. ayrıca kurulumun sorunu bitirdikten hemen sonra çözdüğünü ve yeniden başlatmaya gerek olmadığını unutmayın
Iman

6
Bu benim için XLSX formatlı bir dosyam olduğunda, dosyayı XLS'ye düşürdüğümde ve fazladan bir şey yüklemeden benim için çalıştı.
Mark Boltuc

8
Bu konudaki "2007" korkunç derecede aldatıcı. SSMS 2014, Office 64 Bit, Windows 8.1 64 Bit çalıştırıyorum ve bunun çok eski olduğunu düşündüm, ancak bu "2007" Office bileşeni hile yaptı. Teşekkürler!
russds

1
Windows 7'de 64 bit ofisim düzeltildi
Hammad Khan

2
Bağlantı şimdi bir 404 veriyor. Bunu deneyin microsoft.com/en-us/download/details.aspx?id=54920
Vivek Ayer

60

Excel 2010 sürücüsü 64 bit, varsayılan SSMS içe aktarma dışa aktarma sihirbazı 32'dir, bu nedenle hata mesajıdır.

Verileri İçe Aktar (64 bit) aracını kullanarak içe aktarabilirsiniz. ("C: \ Program Files \ Microsoft SQL Server \ 110 \ DTS \ Binn \ DTSWizard.exe") yolun Program Files x86 olmadığına dikkat edin.


1
+1. Diğer cevaplarda önerilen ekstra bileşeni yüklemek üzereydim. Ama o zaman neden her şey makinemde varken yüklemeliyim.
Pradeep

5
Bu cevabı seviyorum, ancak SSMS'de varsayılanı değiştirmenin bir yolu olup olmadığını bilmek istiyorum.
Dave.Gugg

2
64-bit İçe Aktarıcıyı Başlat'ı tıklayıp "İçe ve Dışa Aktar" ı arayarak ve 64 bit aracını seçerek açmam gerekti.
blizz

5
Bu benim sorunumu çözdü. Varsayılanı çalışan olanla değiştirmek için, x86 klasöründeki C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\DTSWizard.exeolanı çalışan olanla değiştirin C:\Program Files\Microsoft SQL Server\110\DTS\Binn\DTSWizard.exe. Güvende olmak istiyorsanız, onu değiştirmek yerine önce eskisini yeniden adlandırın, böylece bir şeyler ters giderse geri dönebilirsiniz.
Magnetron

3
İçe aktarma sihirbazının 64 bit sürümünü buldum, ancak maalesef makinemdeki 32 bit sürümün aksine, "Excel" açılır listede olası bir veri kaynağı olarak listelenmiyor.
Bob Sammers

19

Bir CSV dosyası olarak kaydedin ve düz bir kaynak dosyası olarak içe aktarın.


Fazladan bir şey yüklemenize gerek yok. Bunun çok daha fazla olumlu oyu olmalı.
Austin Springer



0

Şu anda Microsoft, '2007 Office Sistem Sürücüsü: Veri Bağlantı Bileşenleri' için indirme seçeneği sunmuyor ve indirme bağlantısının alınmasının kafa karışıklığı yarattığı Cnet'e yönlendirilen '2007 Office Sistem Sürücüsü: Veri Bağlantısı Bileşenleri' için ilk yanıta tıklayın .

Bu nedenle, Windows 10'da SQL Server 2014 ve SQL Server'ın en son sürümünü kullananlar, sorununuzu çözen bu bileşeni indirmek için aşağıdaki bağlantıya tıklayın: - Microsoft Access Database Engine 2010

Mutlu Kodlama!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.