Получение поставщика "microsoft.ace.oledb.12.0" не зарегистрирован на локальном компьютере ошибка
Привет Эксперты,
Я получаю "поставщик" Microsoft.ACE.OLEDB.12.0 " не зарегистрирован на локальном компьютере." Ошибка при импорте листа excel с помощью элемента управления загрузкой файлов. Мне нужно вставить данные excel в мою базу данных. Я использую версию visual studio 2013. Но я использую сервер Windows 2008 R2. Когда я запускаю код в своем локальном коде, он работает нормально. Но когда я запускаю код через сервер, я получаю вышеописанную ошибку. Я попытался "включить 32-разрядные приложения = true" в предварительных настройках пула приложений. Также я попытался установить [Драйвер Системы Office 2007: Компоненты Подключения К Данным] но все равно я получаю ту же ошибку. Может ли кто-нибудь подсказать мне, как это исправить?
Вот мой код
Что я уже пробовал:
<pre>ArrayList CategoryList = new ArrayList(); menuupload.SaveAs(Server.MapPath(menuupload.FileName)); string fileName = menuupload.ResolveClientUrl(menuupload.PostedFile.FileName); DataTable dtExcel = new DataTable(); string SourceConstr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath(fileName) + ";Extended Properties= 'Excel 8.0;HDR=Yes;IMEX=1'"; OleDbConnection con = new OleDbConnection(SourceConstr); string query = "Select * from [Items$]"; OleDbDataAdapter data = new OleDbDataAdapter(query, con); data.Fill(dtExcel);
ZurdoDev
Сервер, должно быть, пропустил этот файл. Убедитесь, что он находится в вашей папке BIN или установлен и в GAC.
NaniCh
Спасибо за ваш ответ, Могу я узнать, какой файл нам нужен в папке Bin?
ZurdoDev
Библиотека DLL, имеющая Microsoft.ACE.OLEDB.12.0. посмотрите в своих ссылках, чтобы увидеть, где она находится.
Maciej Los
Попробуйте установить компоненты подключения MS Office 2010 для Win x86