Здравствуйте! Сегодня: Вт, 1 Дек 2020, Ваш IP: 18.232.146.10 Войти через loginza
 
Вход | Регистрация | Забыли пароль?
Мой Kbyte.Ru
> Список форумов Kbyte.Ru - - Базы данных
+ Создать новую тему Страница: 1
Тема: Проблема с MS Access · +  +  дата добавления: 11.04.2011 / 09:01
Автор темы:
spoki
spoki
тем: 1 / ответов: 3 / благодарностей: 0 / репутация: 0
ответов: 3
создал(а) тем: 1


Здравствуйте, возникла необходимость для работы с БД Access через C#, собственно только разбираюсь в чужих кодах, но уже возникла проблема. код :
using System;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;

...

 public void Update()
  {
   string connectionString =
    "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=" + @"data source=C:\downloads\111.mdb";
   OleDbConnection myOleDbConnection = new OleDbConnection(connectionString);
   myOleDbConnection.Open();
  }

и на строчке myOleDbConnection.Open(); вылетает ошибка:
"An unhandled exception of type 'System.InvalidOperationException' occurred in System.Data.dll

Additional information: Поставщик "Microsoft.Jet.OLEDB.4.0" не зарегистрирован на локальном компьютере."

не подскажите как это лечится?
Технологии: C#, Microsoft Access
 
Ответ # 1 # · +  +  дата добавления: 11.04.2011 / 11:37
Автор ответа:
Алексей Немиро
Алексей Немиро
тем: 534 / ответов: 5130 / благодарностей: 325 / репутация: 211
Чашка Kbyte.Ru>>
Url: aleksey.nemiro.ru
Icq: 261779681
Skype: alekseynemiro
ответов: 5130
создал(а) тем: 534


"Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=" + @"data source=C:\downloads\111.mdb";
строка соединения неверная, получается что два раза указывается команда Data Source=data source=C:\.....
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=путь к файлу БД
Если нужна авторизация в БД, то будет так:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=путь к файлу БД;User ID=Логин;Password=Пароль;
 
Ответ # 2 # · +  +  дата добавления: 11.04.2011 / 12:22
Автор ответа:
spoki
spoki
тем: 1 / ответов: 3 / благодарностей: 0 / репутация: 0
ответов: 3
создал(а) тем: 1


изменил как написано, но проблема не решилась, все та же ошибка. Пробовал удалить параметр "Provider=Microsoft.Jet.OLEDB.4.0;" выдало ошибку:" Additional information: В ConnectionString не задан поставщик OLE DB. Образец задания поставщика: "Provider=SQLOLEDB;". Указал в качестве provider=SQLOLEDB , опять ругается "Additional information: Недопустимая спецификация авторизации". Может еще есть какие нибудь варианты решения данной проблемы?
 
Ответ # 3 # · +  +  дата добавления: 11.04.2011 / 12:35
Автор ответа:
Алексей Немиро
Алексей Немиро
тем: 534 / ответов: 5130 / благодарностей: 325 / репутация: 211
Чашка Kbyte.Ru>>
Url: aleksey.nemiro.ru
Icq: 261779681
Skype: alekseynemiro
ответов: 5130
создал(а) тем: 534


Пробовал удалить параметр "Provider=Microsoft.Jet.OLEDB.4.0;"
без указания поставщика работать не будет
provider=SQLOLEDB ,
это только для SQL Server, для Access нужен Microsoft.Jet.OLEDB.4.0.
Может еще есть какие нибудь варианты решения данной проблемы?
должно быть примерно так:
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\downloads\111.mdb"; 
OleDbConnection myOleDbConnection = new OleDbConnection(connectionString); 
myOleDbConnection.Open();

Также может потребоваться Пакет обновлений для Microsoft Jet 4.0 Database Engine
В Windows x64 с Microsoft.Jet.OLEDB есть проблемы.
 
Ответ # 4 # · +  +  дата добавления: 11.04.2011 / 16:31
Автор ответа:
spoki
spoki
тем: 1 / ответов: 3 / благодарностей: 0 / репутация: 0
ответов: 3
создал(а) тем: 1


В Windows x64 с Microsoft.Jet.OLEDB есть проблемы.

у меня как раз windows 7 x64 наверно из-за этого(
 
Ответ # 5 # · +  +  дата добавления: 11.04.2011 / 16:55
Автор ответа:
Алексей Немиро
Алексей Немиро
тем: 534 / ответов: 5130 / благодарностей: 325 / репутация: 211
Чашка Kbyte.Ru>>
Url: aleksey.nemiro.ru
Icq: 261779681
Skype: alekseynemiro
ответов: 5130
создал(а) тем: 534


Можно попробовать в свойствах проекта в параметре Platform Target (вкладка Компиляция -> Платформа) поставить x86.
Насколько мне известно, Microsoft Jet 4.0 под x64 нет и не будет.
 
Ответ # 6 # · +  +  дата добавления: 11.04.2011 / 17:05
Автор ответа:
spoki
spoki
тем: 1 / ответов: 3 / благодарностей: 0 / репутация: 0
ответов: 3
создал(а) тем: 1


Спасибо большое! Заработало!)))))
 
Страница: 1 + Создать новую тему