Προσπαθώ να λάβω δεδομένα από ένα αρχείο 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.
Λοιπόν, πρέπει να το εγκαταστήσετε. Ψάχνετε για:
Μια έκδοση 64-bit του 'Microsoft Access Database Engine 2010 Redistributable' που θα σας επιτρέψει να χρησιμοποιήσετε τον πάροχο 'Microsoft.ACE.OLEDB.12.0' είναι διαθέσιμη εδώ:<br />, http://www.microsoft.com/en-us/download/details.aspx?id=13255
Εάν χρησιμοποιήσετε τη λήψη από την αποδεκτή απάντηση, θα πρέπει να κάνετε build για x86, όπως επισημαίνεται από το @backtestbroker.com.
Πήρα αυτό το σφάλμα/εξαίρεση στο Visual Studio 2010 όταν άλλαξα την κατασκευή μου στο παράθυρο διαλόγου Διαχείριση διαμόρφωσης από "x86" σε "Οποιαδήποτε CPU". Αυτό το πρόγραμμα οδήγησης βάσης δεδομένων OLEDB, όπως καταλαβαίνω, λειτουργεί μόνο σε x86 και δεν είναι συμβατό με 64bit. Η αλλαγή των ρυθμίσεων κατασκευής πίσω σε x86 έλυσε το πρόβλημα για μένα.