Поставщик microsoft jet oledb 4 0 не зарегистрирован на локальном компьютере
В качестве решения этой проблемы я изменил свойство сборки проекта на X86, чтобы он собирался в 32-битном режиме и перестраивал проект на 32-битной машине. Но тот же проект использует другие драйверы БД (DB2, SQL и т. Д.) Для подключения к другим базам данных. Поэтому, когда я снова развернул свое приложение в 64-битной ОС, оно выдает исключение "Попытка загрузить 64-битную сборку на 32-битной платформе".
Я использую драйвер Microsoft.Jet.OLEDB.4.0 для чтения и записи в Excel (.xls)
Я нашел решение этой проблемы. Проблема, которую я описал в своем вопросе, возникла в основном из-за несовместимости драйвера Microsoft.Jet.OLEDB.4.0 в 64-битной ОС.
Поэтому, если мы используем драйвер Microsoft.Jet.OLEDB.4.0 на 64-битном сервере, мы должны принудительно встроить наше приложение в 32-битном режиме (это ответ, который я нашел, когда провел расширенный поиск этой известной проблемы) и это приводит к поломке другой части моего кода.
К счастью, теперь Microsoft выпустила 64-разрядный совместимый драйвер Office 2010, который можно использовать вместо традиционного драйвера Microsoft.Jet.OLEDB.4.0. Он работает как на 32-битных, так и на 64-битных серверах. Я использовал его для работы с файлами Excel, и он отлично работал в обеих средах. Но этот драйвер в бета-версии.
Если проблема сохраняется в ASP.NET, все, что мне нужно было сделать, это изменить значение параметра "Включить 32-разрядные приложения" на "Истина" в разделе "Дополнительные параметры для пула приложений".
У меня та же проблема
Я применил ответ neo, но он не работал, пока я не изменил провайдера на "Provider=Microsoft.ACE.OLEDB.12.0;" в строке подключения.
Надеюсь, это поможет, если кто-то столкнется с той же проблемой.
Я знаю, что это довольно старые вопросы, и многие люди ответили. но я суммирую вещи для понимания:
Если расширение файла - xls, а ОС - 32-разрядная, то только вы можете использовать " Microsoft.Jet.OLEDB.4.0 ". Microsoft не выпустила 64-битную версию этого драйвера.
Если расширение файла xls x или ОС 64-битная, то вам необходимо использовать " Microsoft.ACE.OLEDB.12.0 Msgstr "Приложение, скомпилированное в 32/64 битном режиме, не влияет на выбор драйвера.
Всегда устанавливайте 64-битный драйвер Microsoft.ACE.OLEDB.12.0 на ОС 64 бит. Если вы уже установили Office 32 bit, вам нужно запустить драйвер из cmd с аргументом /passive. Этот хак работает только до Office 2013, Microsoft прекратила этот обходной путь из Office 2016 для драйверов Microsoft.ACE.OLEDB.16.0.
Если приложение скомпилировано с флагом AnyCPU, оно будет искать 64-разрядные драйверы доступа в 64-разрядной ОС и 32-разрядные драйверы доступа в 32-разрядной ОС.
Если ваше приложение работает на localIIS, вы можете решить эту проблему, включив 32-разрядные приложения в расширенных настройках AppPool.
1.-Открыть IIS
2. -Измените appPool на Дополнительные настройки
3.-true, чтобы включить 32-битное приложение.
ps.Я поменял Configuration Manager на X86 на платформе Active Solution
Я была такая же проблема. Я изменил конфигурацию приложения на x86 тогда это сработало!
Я только что изменил свое свойство проекта в формате x64
Project---> Properties--->Build--->Target Framework---> X64
Мы столкнулись с этой проблемой в настольном приложении.
Это было решено путем изменения цели платформы на X86 с любого процессора. Свойства проекта >> Сборка >> Цель платформы.
Вы сделали! Это устанавливает стартовые флаги для вашей программы, так что она запускается в 32-битном режиме WOW64 и, следовательно, может получить доступ к microsoft.jet.oledb.4.0.
Я сделал следующее, и проблема ушла:
Изменил мой провайдер на Microsoft.ACE.OLEDB.12.0
Я изменил строку подключения с
var myConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; Источник данных =; Информация о сохранении безопасности =True;Jet OLEDB: Пароль базы данных =;",gisdbPath);
Он работает там, где меня никогда не просили зарегистрировать Microsoft.Jet.OLEDB.4.0.
Просто измените свойство на основе вашей машины, и все сделали:-)
Project ---> Properties ---> Build ---> Target Framework ---> X64
Project---> Properties--->Build--->Target Framework---> X86
Изменение в дополнительных настройках пула приложений IIS. Включение 32-разрядного приложения.
Я использую VS2013 для Winforms, ниже решение сработало для меня.
Затем установите для целевой платформы VS значение x86.
Действительно, нет никакой 64-битной версии Jet - и нет планов (по-видимому) по ее выпуску.
- но я понятия не имею, как это будет работать, если вам нужно вернуться к Jet для ваших 32-битных приложений.
Тем не менее, вы можете переключиться на 32-битный проект в версии Express (я не пробовал и у меня больше нет установленного 2008)
Может быть, пришло время полностью отказаться от баз данных Access, откусить пулю и вместо этого перейти на SQL-сервер?
В старых версиях IIS вы не найдете Advance Settings так, чтобы включить Enable 32-bit Applications Вы должны выполнить следующие команды:
cscript% SYSTEMDRIVE% \ inetpub \ adminscripts \ adsutil.vbs SET W3SVC / AppPools / Enable32bitAppOnWin64 1
Я знаю, что у меня возникает эта проблема снова и снова, когда я развертываю свое приложение на новом сервере, потому что я использую этот драйвер для подключения к файлу Excel. Итак, вот чем я занимаюсь в последнее время.
Этот ниже работает великолепно на моей машине разработчика, но на сервере выдает ошибку даже после установки последних драйверов ODBC, что, я думаю, это проблема, но я решил ее так.
Я заменяю новым провайдером, как это ниже:
Но когда я делаю это, есть одна вещь, которую вы должны заметить. Используя расширение файла.xlsx и версия Excel 12.0.
Может быть, есть другой процесс, который открыл файл между тем, и все, что мне нужно сделать, это перезагрузить компьютер, и все будет работать нормально, как и ожидалось.
Итак, как решение этой проблемы, я изменил свойство build проекта на X86, так что он будет строить в 32-битном режиме и перестроить проект на 32-битной машине. Но в том же проекте используются другие драйверы DB (DB2, SQL и т.д.) Для подключения к другим базам данных. Поэтому, когда я снова развернул свое приложение в 64-битной ОС, он выдает исключение "Попытка загрузить 64-разрядную сборку на 32-битной платформе".
Я использую драйвер Microsoft.Jet.OLEDB.4.0 для чтения и записи в Excel (.xls)
спросил(а) 2010-01-02T16:52:00+03:00 11 лет, 10 месяцев назадЯ изменил строку подключения из
var myConnectionString = string.Format( "Provider = Microsoft.Jet.OLEDB.4.0; Источник данных = ; Persist Security Info = True; Jet OLEDB: Database Password =;", gisdbPath);
var myConnectionString = string.Format( "Provider = Microsoft.Jet.OLEDB.4.0; Mode = Share Deny None; Источник данных = ; идентификатор пользователя = Admin; пароль =;", gisdbPath);
Это работает, я никогда не просил зарегистрировать Microsoft.Jet.OLEDB.4.0.
ответил(а) 2016-03-17T06:25:00+03:00 5 лет, 8 месяцев назадЯ нашел решение этой проблемы. Проблема, которую я описал в моем вопросе, возникла в основном из-за несовместимости драйвера Microsoft.Jet.OLEDB.4.0 в 64-разрядной ОС.
Итак, если мы используем драйвер Microsoft.Jet.OLEDB.4.0 на 64-битном сервере, нам нужно заставить наше приложение встраиваться в 32-битный режим (это ответ, который я нашел, когда я сделал обширный поиск этого известная проблема), и это приводит к поломке другой части моего кода.
К счастью, теперь Microsoft выпустила 64-разрядный совместимый 2010 System System Driver, который можно использовать в качестве замены традиционного драйвера Microsoft.Jet.OLEDB.4.0. Он работает как на 32-битных, так и на 64-битных серверах. Я использовал его для обработки файлов Excel, и он отлично работал у меня в обеих средах. Но этот драйвер находится в BETA.
ответил(а) 2010-01-02T19:13:00+03:00 11 лет, 10 месяцев назадЕсли проблема сохраняется в ASP.NET, все, что мне нужно было сделать, это изменить параметр "Включить 32-разрядные приложения" на "Истина" в "Дополнительные параметры для пула приложений".
У меня та же проблема
Я применил ответ neo, но это не сработало, пока я не заменил провайдера на "Provider = Microsoft.ACE.OLEDB.12.0;" в строке подключения.
Надеюсь, это поможет, если кто-то столкнется с той же проблемой.
ответил(а) 2013-04-20T09:28:00+04:00 8 лет, 7 месяцев назад2. - Измените appPool на Дополнительные параметры
3.-true для включить 32-битное приложение.
ps.I изменил Configuration Manager на X86 на платформе активных решений
ответил(а) 2012-06-07T01:57:00+04:00 9 лет, 5 месяцев назадЯ знаю это довольно старые вопросы, и многие люди ответили. но я суммирую вещи для понимания:
Если расширение файла - xls, а ОС - 32 бит, вы можете использовать только " Microsoft.Jet.OLEDB.4.0 ". Microsoft не выпустила 64-разрядную версию этого драйвера.
Если расширение файла xlsx или ОС 64 бит, вам необходимо использовать " Microsoft.ACE.OLEDB.12.0 ". Приложение, скомпилированное в режиме 32/64 бит, не влияет на выбор драйвера.
Всегда устанавливайте 64-битный драйвер Microsoft.ACE.OLEDB.12.0 на 64-разрядную ОС. Если вы уже установили бит Office 32, вам нужно запустить драйвер из cmd с аргументом /passive. Этот хак работает только до Office 2013, Microsoft остановила это обходное решение от Office 2016 для драйверов Microsoft.ACE.OLEDB.16.0.
Если приложение скомпилировано с флагом AnyCPU, оно будет искать 64-битные драйверы доступа в 64-битной ОС и 32-битные драйверы доступа для 32-разрядной ОС.
ответил(а) 2016-03-11T12:11:00+03:00 5 лет, 8 месяцев назадЕсли ваше приложение работает на localIIS, вы можете решить эту проблему с помощью включения 32-разрядных приложений в AppPool Дополнительные параметры
У меня была такая же проблема. Я изменил конфигурацию приложения на x86 , тогда он сработает!
ответил(а) 2012-02-07T16:43:00+04:00 9 лет, 9 месяцев назадЯ просто изменил свое свойство проекта в формате x64
Проект --- > Свойства --- > Сборка --- > Целевая структура --- > X64
Итак, как решение этой проблемы, я изменил свойство build проекта на X86, так что он будет строить в 32-битном режиме и перестроить проект на 32-битной машине. Но в том же проекте используются другие драйверы DB (DB2, SQL и т.д.) Для подключения к другим базам данных. Поэтому, когда я снова развернул свое приложение в 64-битной ОС, он выдает исключение "Попытка загрузить 64-разрядную сборку на 32-битной платформе".
Я использую драйвер Microsoft.Jet.OLEDB.4.0 для чтения и записи в Excel (.xls)
21 ответ
Я нашел решение этой проблемы. Проблема, которую я описал в моем вопросе, возникла в основном из-за несовместимости драйвера Microsoft.Jet.OLEDB.4.0 в 64-разрядной ОС.
Итак, если мы используем драйвер Microsoft.Jet.OLEDB.4.0 на 64-битном сервере, нам нужно заставить наше приложение встраиваться в 32-битный режим (это ответ, который я нашел, когда я сделал обширный поиск этого известная проблема), и это приводит к поломке другой части моего кода.
К счастью, теперь Microsoft выпустила 64-разрядный совместимый 2010 System System Driver, который можно использовать в качестве замены традиционного драйвера Microsoft.Jet.OLEDB.4.0. Он работает как на 32-битных, так и на 64-битных серверах. Я использовал его для обработки файлов Excel, и он отлично работал у меня в обеих средах. Но этот драйвер находится в BETA.
Также обратите особое внимание на инструкции по этой ссылке :) Я была такая же проблема. Я изменил конфигурацию приложения на x86, потом все заработало! Также мне пришлось изменить строку подключения с использованием Microsoft.Jet.OLEDB.4.0 на Microsoft.ACE.OLEDB.12.0 нубский вопрос: могу ли я распространять этот драйвер как "в моем приложении" или каждый пользователь, который хочет использовать мое приложение, должен установить его вручную? Ответ на этот вопрос дается последним словом в заголовке статьи, «Microsoft Access Database Engine 2010 Redistributable». По определению, распространяемый компонент может распространяться вместе с вашим приложением, если вы добавляете значительную ценность. x86 создавал проблемы в моей 64-битной среде. Поэтому я переключился на Смешанные платформы, которые сделали свое дело. Спасибо за помощь! Как включить драйвер в мое приложение, чтобы не требовалось устанавливать его на пользовательский компьютер?Если проблема сохраняется в ASP.NET, все, что мне нужно было сделать, это изменить параметр "Включить 32-разрядные приложения" на "Истина" в "Дополнительные параметры для пула приложений".
Я использовал 64-битный ODBC, и это изменение начало приводить к ошибке базы данных. Я исправил это все же. В случае, если кто-то тоже столкнется с этим, вам придется установить 32-битные драйверы ODBC, а затем создать в нем свой DSN. Сейчас вполне возможно сделать это полностью в 64-битном коде. Установите распространяемый файл, указанный в ответе neo , затем используйте строку поставщика, предложенную в ответе Iqbal . Затем проголосуйте за оба этих ответа. Это оно! Это устранило проблему для меня на Windows Server 2008 R2 после установки 32-битного Access DB Engine Redist . Недостатком является то, что пул будет работать в 32-битном режиме. Вместо этого мы переключимся на ACE, чтобы избежать этого.У меня та же проблема
Я применил ответ neo, но это не сработало, пока я не заменил провайдера на "Provider = Microsoft.ACE.OLEDB.12.0;" в строке подключения.
Надеюсь, это поможет, если кто-то столкнется с той же проблемой.
Это оно! Для 64-разрядного сервера установите распространяемый пакет, связанный с neo (очевидно, 64-разрядный вариант), а затем измените поставщика, как указано в этом ответе, тогда он будет работать. Вы правы Ромкинс. Я уже говорил, что применил нео решение, затем сменил провайдера. Но благодаря вашему комментарию это становится более понятным. Большое спасибо romkyns заменил Microsoft.Jet.OLEDB.4.0 на Microsoft.ACE.OLEDB.12.0; в app.config и все заработало.1. -Открыть IIS
2. - Измените appPool на Дополнительные параметры
3.-true для включить 32-битное приложение.
ps.I изменил Configuration Manager на X86 на платформе активных решений
Это заставляет ваше приложение работать в 32-битном режиме. Вам нужно отключить эту настройку, если вы хотите избежать барьера 4 ГБ.Я знаю это довольно старые вопросы, и многие люди ответили. но я суммирую вещи для понимания:
Если расширение файла - xls, а ОС - 32 бит, вы можете использовать только " Microsoft.Jet.OLEDB.4.0 ". Microsoft не выпустила 64-разрядную версию этого драйвера.
Если расширение файла xlsx или ОС 64 бит, вам необходимо использовать " Microsoft.ACE.OLEDB.12.0 ". Приложение, скомпилированное в режиме 32/64 бит, не влияет на выбор драйвера.
Всегда устанавливайте 64-битный драйвер Microsoft.ACE.OLEDB.12.0 на 64-разрядную ОС. Если вы уже установили бит Office 32, вам нужно запустить драйвер из cmd с аргументом /passive. Этот хак работает только до Office 2013, Microsoft остановила это обходное решение от Office 2016 для драйверов Microsoft.ACE.OLEDB.16.0.
Если приложение скомпилировано с флагом AnyCPU, оно будет искать 64-битные драйверы доступа в 64-битной ОС и 32-битные драйверы доступа для 32-разрядной ОС.
Спасибо за ваш ответ, однако я использую VS2015 на Windows 10 и X64. Когда я изменил конфигурацию проекта с AnyCPU на X86, проблема ушла. Мне не нужно было устанавливать никаких дополнительных драйверов. @NoChance Я думаю, что вы уже установили Office 64 бит на свою машину, и он уже содержит драйверы Microsoft.ACE.OLEDB.12.0.Если ваше приложение работает на localIIS, вы можете решить эту проблему с помощью включения 32-разрядных приложений в AppPool Дополнительные параметры
У меня была такая же проблема. Я изменил конфигурацию приложения на x86 , тогда он сработает!
как изменить эту конфигурацию? Я создал проект типа веб-сайтаЯ просто изменил свое свойство проекта в формате x64
Проект --- > Свойства --- > Сборка --- > Целевая структура --- > X64
Я сделал следующее, и проблема исчезла:
Установлена 64-разрядная версия Microsoft Access Database Engine 2010 Распространяемый, как было предложено neo
Изменен мой провайдер на Microsoft.ACE.OLEDB.12.0
Мы столкнулись с этой проблемой в настольном приложении.
Я изменил строку подключения из
var myConnectionString = string.Format( "Provider = Microsoft.Jet.OLEDB.4.0; Источник данных = ; Persist Security Info = True; Jet OLEDB: Database Password =;", gisdbPath);
var myConnectionString = string.Format( "Provider = Microsoft.Jet.OLEDB.4.0; Mode = Share Deny None; Источник данных = ; идентификатор пользователя = Admin; пароль =;", gisdbPath);
Это работает, я никогда не просил зарегистрировать Microsoft.Jet.OLEDB.4.0.
Просто измените свойство на основе вашей машины, и все сделали: -)
Проект --- > Свойства --- > Сборка --- > Целевая структура --- > X64
Проект --- > Свойства --- > Строить --- > Целевая структура --- > X86
Изменения в дополнительных настройках пула приложений IIS. Необходимое 32-разрядное приложение
Вы закончили! Это устанавливает начальные флаги для вашей программы, чтобы она начиналась в 32-битном режиме WOW64 и поэтому могла получить доступ к microsoft.jet.oledb.4.0.
Я знаю, что эта проблема возникает снова и снова при развертывании приложения на новом сервере, потому что я использую этот драйвер для подключения к файлу Excel. Итак, вот что я делаю в последнее время.
Ниже приведено подробное описание работы с моей машиной dev, но на сервере возникает ошибка даже после установки последних драйверов ODBC, которые, я думаю, это проблема, но именно так я ее и решил.
Я заменяю новый поставщик следующим образом:
Но, как я это делаю, есть одна вещь, которую вы должны заметить. Использование расширения .xlsx и версии Excel - 12.0.
Может быть, есть другой процесс, который открыл файл тем временем, и все, что мне нужно сделать, это перезагрузка, и все начнется плавно, как и ожидалось.
Итак, как решение этой проблемы, я изменил свойство build проекта на X86, так что он будет строить в 32-битном режиме и перестроить проект на 32-битной машине. Но в том же проекте используются другие драйверы DB (DB2, SQL и т.д.) Для подключения к другим базам данных. Поэтому, когда я снова развернул свое приложение в 64-битной ОС, он выдает исключение "Попытка загрузить 64-разрядную сборку на 32-битной платформе".
Я использую драйвер Microsoft.Jet.OLEDB.4.0 для чтения и записи в Excel (.xls)
Я нашел решение этой проблемы. Проблема, которую я описал в моем вопросе, возникла в основном из-за несовместимости драйвера Microsoft.Jet.OLEDB.4.0 в 64-разрядной ОС.
Итак, если мы используем драйвер Microsoft.Jet.OLEDB.4.0 на 64-битном сервере, нам нужно заставить наше приложение встраиваться в 32-битный режим (это ответ, который я нашел, когда я сделал обширный поиск этого известная проблема), и это приводит к поломке другой части моего кода.
К счастью, теперь Microsoft выпустила 64-разрядный совместимый 2010 System System Driver, который можно использовать в качестве замены традиционного драйвера Microsoft.Jet.OLEDB.4.0. Он работает как на 32-битных, так и на 64-битных серверах. Я использовал его для обработки файлов Excel, и он отлично работал у меня в обеих средах. Но этот драйвер находится в BETA.
Если проблема сохраняется в ASP.NET, все, что мне нужно было сделать, это изменить параметр "Включить 32-разрядные приложения" на "Истина" в "Дополнительные параметры для пула приложений".
У меня та же проблема
Я применил ответ neo, но это не сработало, пока я не заменил провайдера на "Provider = Microsoft.ACE.OLEDB.12.0;" в строке подключения.
Надеюсь, это поможет, если кто-то столкнется с той же проблемой.
Я знаю это довольно старые вопросы и многие люди ответили. но я суммирую вещи для понимания:
Если расширение файла - xls, а ОС - 32-битная, то только вы можете использовать " Microsoft.Jet.OLEDB.4.0 ". Microsoft не выпустила 64-битную версию этого драйвера.
Если расширение файла xlsx или ОС является 64-битной, вам необходимо использовать " Microsoft.ACE.OLEDB.12.0 ". Приложение, скомпилированное в 32/64 битном режиме, не влияет на выбор драйвера.
Всегда устанавливайте 64-битный драйвер Microsoft.ACE.OLEDB.12.0 в 64-битной ОС. Если вы уже установили Office 32 bit, вам нужно запустить драйвер из cmd с аргументом /passive. Этот хак работает только до Office 2013, Microsoft прекратила этот обходной путь из Office 2016 для драйверов Microsoft.ACE.OLEDB.16.0.
Если приложение скомпилировано с флагом AnyCPU, оно будет искать 64-разрядные драйверы доступа в 64-разрядной ОС и 32-разрядные драйверы доступа в 32-разрядной ОС.
1. -Открыть IIS
2. - Измените appPool на Дополнительные параметры
3.-true для включить 32-битное приложение.
ps.I изменил Configuration Manager на X86 на платформе активных решений
Если ваше приложение работает на localIIS, вы можете решить эту проблему с помощью включения 32-разрядных приложений в AppPool Дополнительные параметры
У меня была такая же проблема. Я изменил конфигурацию приложения на x86 , тогда он сработает!
Я просто изменил свое свойство проекта в формате x64
Проект --- > Свойства --- > Сборка --- > Целевая структура --- > X64
Мы столкнулись с этой проблемой в настольном приложении.
Я сделал следующее, и проблема исчезла:
Установлена 64-разрядная версия Microsoft Access Database Engine 2010 Распространяемый, как было предложено neo
Изменен мой провайдер на Microsoft.ACE.OLEDB.12.0
Вы закончили! Это устанавливает начальные флаги для вашей программы, чтобы она начиналась в 32-битном режиме WOW64 и поэтому могла получить доступ к microsoft.jet.oledb.4.0.
Изменения в дополнительных настройках пула приложений IIS. Необходимое 32-разрядное приложение
Просто измените свойство на основе вашей машины, и все сделали: -)
Проект --- > Свойства --- > Сборка --- > Целевая структура --- > X64
Проект --- > Свойства --- > Строить --- > Целевая структура --- > X86
Я изменил строку подключения из
var myConnectionString = string.Format( "Provider = Microsoft.Jet.OLEDB.4.0; Источник данных = ; Persist Security Info = True; Jet OLEDB: Database Password =;", gisdbPath);
var myConnectionString = string.Format( "Provider = Microsoft.Jet.OLEDB.4.0; Mode = Share Deny None; Источник данных = ; идентификатор пользователя = Admin; пароль =;", gisdbPath);
Это работает, я никогда не просил зарегистрировать Microsoft.Jet.OLEDB.4.0.
На самом деле нет 64-битной версии Jet - и никаких планов (по-видимому) для ее создания.
- но я понятия не имею, как это будет работать, если вам нужно вернуться в Jet для своих 32-битных приложений.
Однако вы можете переключить проект на 32-разрядный в версии Express (я еще не пробовал и не имел 2008, установленного в любом вкусе)
Возможно, пришло время отказаться от баз данных доступа, укусить пулю и вместо этого перейти на SQL-сервер?
Я использую VS2013 для Winforms, ниже для меня работало.
Затем установите VS Target Platform на x86.
В более старых версиях IIS вы не найдете Advance Settings , поэтому для включения Enable 32-bit Applications вам необходимо выполнить следующие команды:
cscript% SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
Я получал такое же исключение во время запуска "Импорт и экспорт данных SQL Server 2014 (64-разрядный)" на моем Windows 8.1.
Чтобы устранить эту проблему, я сделал следующее
запустил SQL Server 2014 Импорт и экспорт данных (32-разрядный) вместо 64-разрядного, и он работает для меня. Я не изменил настройки IIS и не установил никакого дополнительного программного обеспечения.
Я знаю, что эта проблема возникает снова и снова при развертывании приложения на новом сервере, потому что я использую этот драйвер для подключения к файлу Excel. Итак, вот что я делаю в последнее время.
Ниже приведено подробное описание работы с моей машиной dev, но на сервере возникает ошибка даже после установки последних драйверов ODBC, которые, я думаю, это проблема, но именно так я ее и решил.
Я заменяю новый поставщик следующим образом:
Но, как я это делаю, есть одна вещь, которую вы должны заметить. Использование расширения .xlsx и версии Excel - 12.0.
Может быть, есть другой процесс, который открыл файл тем временем, и все, что мне нужно сделать, это перезагрузка, и все начнется плавно, как и ожидалось.
Читайте также: