'Ο πάροχος Microsoft.ACE.OLEDB.12.0' δεν είναι εγγεγραμμένος στον τοπικό υπολογιστή

Προσπαθώ να λάβω δεδομένα από ένα αρχείο Excel σε ένα συμβάν κλικ κουμπιού. Η συμβολοσειρά σύνδεσής μου είναι η εξής:

 string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\source\\SiteCore65\\Individual-Data.xls;Extended Properties=Excel 8.0;";

Όταν κάνω κλικ στο κουμπί, λαμβάνω το ακόλουθο σφάλμα:

Ο πάροχος 'Microsoft.ACE.OLEDB.12.0' δεν είναι εγγεγραμμένος στο τοπικό μηχάνημα.

Δεν έχω ιδέα πώς να το διορθώσω αυτό. Το λειτουργικό μου σύστημα είναι τα Windows 7.

Λύση

Λοιπόν, πρέπει να το εγκαταστήσετε. Ψάχνετε για:

Σχόλια (12)

Μια έκδοση 64-bit του 'Microsoft Access Database Engine 2010 Redistributable' που θα σας επιτρέψει να χρησιμοποιήσετε τον πάροχο 'Microsoft.ACE.OLEDB.12.0' είναι διαθέσιμη εδώ:

Σχόλια (8)

Πήρα αυτό το σφάλμα/εξαίρεση στο Visual Studio 2010 όταν άλλαξα την κατασκευή μου στο παράθυρο διαλόγου Διαχείριση διαμόρφωσης από "x86" σε "Οποιαδήποτε CPU". Αυτό το πρόγραμμα οδήγησης βάσης δεδομένων OLEDB, όπως καταλαβαίνω, λειτουργεί μόνο σε x86 και δεν είναι συμβατό με 64bit. Η αλλαγή των ρυθμίσεων κατασκευής πίσω σε x86 έλυσε το πρόβλημα για μένα.

Σχόλια (2)