Я разрабатываю ASP-сайт, который использует базу данных. Он работает в автономном режиме, когда я его тестирую, но как только я загружу его на свою учетную запись fasthosts, я получаю следующую ошибку при попытке запустить ее:
Сведения об исключении: System.InvalidOperationException: поставщик "Microsoft.ACE.OLEDB.12.0" не зарегистрирован на локальном компьютере.
Строка подключения выглядит следующим образом:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$
ConnectionStrings:ThreadString %>" ProviderName="<%$
ConnectionStrings:ThreadString.ProviderName %>" SelectCommand="SELECT * FROM [Thread]
WHERE ([rank] <= ?) ORDER BY [rank]">
Файл web.config:
<add name="ThreadString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=|DataDirectory|\Database.accdb" providerName="System.Data.OleDb" />
Есть идеи, почему это происходит? заранее спасибо
Для подключения к файлу ACCDB (формат Access 2007) требуется драйвер ACE.OLEDB.12.0. Этот драйвер необходимо установить на ISP-машине.
(Вероятно, причина, по которой они задают вам другой план)
Однако вы можете изменить формат своего файла на Access 2003, который использует Microsoft.Jet.OLEDB.4.0
и этот драйвер не нужно устанавливать на ISP-машине.
Это документ на сайте Microsoft, в котором объясняется, как это сделать.
Сохранить базу данных Access 2010 в более раннем формате файла
Но есть еще одна проблема. Этот драйвер имеет только 32 бит, поэтому ваш интернет-провайдер должен позволить 32-битовому драйверу работать в хостинговом процессе вашего сайта (если он использует 64-разрядную ОС). Как это делается, зависит от ваших инструментов и интерфейса ISP и насколько они позволяют вам персонализировать свои услуги.
Обычно на локальном сервере IIS вы выполняете следующие шаги
Попробуйте выполнить следующие действия.
строить и запускать.