“ ผู้ให้บริการ 'Microsoft.ACE.OLEDB.12.0' ไม่ได้ลงทะเบียนบนเครื่องท้องถิ่น” เกิดข้อผิดพลาดในการนำเข้า xlsx ไปยังเซิร์ฟเวอร์ sql


115

ฉันมี Windows 7 64 บิตและ SQLServer 2008 R2 (64 บิต)

ฉันทำตามคำแนะนำที่นี่เพื่อนำเข้าไฟล์ excel ไปยังเซิร์ฟเวอร์ sql แต่ในส่วนรูปที่ 3 ของโพสต์นั้นเมื่อฉันพยายามเข้าถึงไฟล์ excel และเมื่อฉันคลิกถัดไปข้อผิดพลาดนี้ทำให้ฉันหยุด:

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

AccessDatabaseEngine_x64ฉันค้นหาเว็บฉันรู้ว่าฉันต้องติดตั้ง แต่เมื่อฉันติดตั้งฉันมีปัญหาเดียวกัน

คุณช่วยฉันหน่อยได้ไหมว่าต้องทำอย่างไร

คำตอบ:


213

ติดตั้งสิ่งต่อไปนี้เพื่อแก้ไขข้อผิดพลาดของคุณ

ไดรเวอร์ระบบ Office 2007: ส่วนประกอบการเชื่อมต่อข้อมูล

AccessDatabaseEngine.exe (25.3 MB)

การดาวน์โหลดนี้จะติดตั้งชุดส่วนประกอบที่อำนวยความสะดวกในการถ่ายโอนข้อมูลระหว่างไฟล์ Microsoft Office ที่มีอยู่เช่นไฟล์ Microsoft Office Access 2007 (* .mdb และ. accdb) และ Microsoft Office Excel 2007 ( .xls, *. xlsxและ * xlsb) ไฟล์ไปยังแหล่งข้อมูลอื่น ๆ เช่น Microsoft SQL Server


ปัญหานี้ปรากฏให้ฉันเห็นหลังจากเปลี่ยนการดำเนินการ SSIS 64 บิตของฉันที่เปิดอยู่โปรดทราบว่าการติดตั้งสามารถแก้ไขปัญหาได้ทันทีหลังจากเสร็จสิ้นและไม่จำเป็นต้องรีสตาร์ทใด ๆ
Iman

6
สิ่งนี้เกิดขึ้นกับฉันเมื่อฉันมีไฟล์ที่ฟอร์แมต XLSX แล้วดาวน์เกรดไฟล์เป็น XLS และมันใช้ได้สำหรับฉันโดยไม่ต้องติดตั้งอะไรเพิ่มเติม
Mark Boltuc

8
"2007" ในเรื่องนี้หลอกลวงอย่างมาก ฉันใช้ SSMS 2014, Office 64 บิต, Windows 8.1 64 บิตและคิดว่านี่ล้าสมัยไปมาก แต่คอมโพเนนต์ Office "2007" นี้ทำเคล็ดลับได้ ขอบคุณ!
russds

1
แก้ไขสำนักงาน 64 บิตของฉันบน Windows 7
Hammad Khan

2
ตอนนี้ลิงค์ให้ 404 ลองใช้microsoft.com/en-us/download/details.aspx?id=54920
Vivek Ayer

60

โปรแกรมควบคุม Excel 2010 คือ 64 บิตในขณะที่ตัวช่วยสร้างการส่งออกการนำเข้า SSMS เริ่มต้นคือ 32 ดังนั้นข้อความแสดงข้อผิดพลาด

คุณสามารถนำเข้าโดยใช้เครื่องมือนำเข้าส่งออกข้อมูล (64 บิต) ("C: \ Program Files \ Microsoft SQL Server \ 110 \ DTS \ Binn \ DTSWizard.exe") สังเกตว่าพา ธ ไม่ใช่ Program Files x86


1
+1 ฉันเกี่ยวกับการติดตั้งองค์ประกอบพิเศษซึ่งแนะนำในคำตอบอื่น ๆ แต่แล้วทำไมต้องติดตั้งในเมื่อทุกอย่างอยู่ในเครื่องแล้ว
Pradeep

5
ฉันชอบคำตอบนี้ แต่ฉันต้องการทราบว่าเป็นวิธีเปลี่ยนค่าเริ่มต้นใน SSMS หรือไม่
Dave.Gugg

2
ฉันต้องเปิดตัวนำเข้า 64 บิตโดยคลิกเริ่มและค้นหา "นำเข้าและส่งออก" และเลือกเครื่องมือ 64 บิต
พายุหิมะ

5
สิ่งนี้ช่วยแก้ปัญหาของฉันได้ หากต้องการเปลี่ยนค่าเริ่มต้นเป็นค่าที่ใช้งานได้เพียงแค่แทนที่ค่าในโฟลเดอร์ x86 C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\DTSWizard.exeด้วยค่าที่ใช้งานC:\Program Files\Microsoft SQL Server\110\DTS\Binn\DTSWizard.exeได้ หากคุณต้องการความปลอดภัยให้เปลี่ยนชื่อเก่าก่อนแทนที่จะแทนที่เขาเพื่อย้อนกลับไปหากมีอะไรผิดพลาด
Magnetron

3
ฉันพบวิซาร์ดการนำเข้าเวอร์ชัน 64 บิต แต่น่าเสียดายที่แตกต่างจากเวอร์ชัน 32 บิตในเครื่องของฉัน "Excel" ไม่อยู่ในรายการเป็นแหล่งข้อมูลที่เป็นไปได้ในเมนูแบบเลื่อนลง
Bob Sammers

19

บันทึกเป็นไฟล์ CSV และนำเข้าเป็นไฟล์ต้นฉบับแบบแบน


ไม่ต้องติดตั้งอะไรเพิ่ม วิธีนี้ควรมีการโหวตเพิ่มขึ้น
Austin Springer

17

นี่เป็นการติดตั้งเพียงครั้งเดียวที่แก้ไขปัญหาให้ฉันได้

SQL 2008 r2 w / office 2010 64 บิต: "2007 Office System Driver: Data Connectivity Components"


1
อันที่จริงโปรแกรมติดตั้ง 32 บิตนี้ยังแก้ไขให้ฉันแม้ว่าฉันจะใช้ OS และ SQL เวอร์ชัน 64 บิต แต่ Office ก็เป็น 32 บิต
PedroC88

ลิงก์เสียโปรดแบ่งปันใหม่
Venkat

0

ฉันไม่มีโชคเลยจนกระทั่งฉันติดตั้งลิงก์เวอร์ชัน 2010 ที่นี่: https://www.microsoft.com/en-us/download/details.aspx?id=13255

ฉันลองติดตั้งเวอร์ชัน 32 บิตแล้วมันยังคงผิดพลาดดังนั้นฉันจึงถอนการติดตั้งและติดตั้งเวอร์ชัน 64 บิตและมันก็เริ่มทำงาน


0

ปัจจุบัน Microsoft ไม่มีตัวเลือกการดาวน์โหลดสำหรับ '2007 Office System Driver: Data Connectivity Components' และคลิกที่คำตอบแรกสำหรับ '2007 Office System Driver: Data Connectivity Components' จะเปลี่ยนเส้นทางไปยังCnetซึ่งการรับลิงค์ดาวน์โหลดจะสร้างความสับสน

นั่นเป็นเหตุผลว่าทำไมใครใช้ SQL Server 2014 และ SQL Server เวอร์ชันล่าสุดใน Windows 10 คลิกที่ลิงค์ด้านล่างเพื่อดาวน์โหลดส่วนประกอบนี้ซึ่งแก้ไขปัญหาของคุณ: - Microsoft Access Database Engine 2010

Happy Coding!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.