Provider is not registered on the local machine?
От: ulukbek  
Дата: 21.09.09 16:24
Оценка:
using System.Data;
using System.Data.Common;
using System.Data.OleDb;

        string connectionString;
        OleDbConnection connection;// = new DbConnection();
        bool bOpened;

        public string SetMDBConnectionString(string fn)
        {
            string s = "Provider=Microsoft.Jet.DB.4.0;Data Source=" +
               fn + ";User Id=;Password=;";
            connectionString = s;
            return s;
        }
        public bool OpenMDB(string fn)
        {
            if (File.Exists(fn))
            {
                SetMDBConnectionString(fn);
                connection = new OleDbConnection(connectionString);
                connection.Open();


System.InvalidOperationException was unhandled
  Message="The 'Microsoft.Jet.DB.4.0' provider is not registered on the local machine."
  Source="System.Data"
  StackTrace:
       ...
       at System.Data.OleDb.OleDbConnection.Open()
       ...


Такой код работал!
Но ... меня дернул, хотел сделать так:
DbConnection connection = new DbConnection();
connection = new DbConnection(connectionString);

но, DbConnection(connectionString) такое возможно только с Ole... вернул обратно, как показано выше. После этого вызывается ошибка:
"The 'Microsoft.Jet.DB.4.0' provider is not registered on the local machine."
При этом, предыдущие версии компиляции работают без ошибок.
В чем может быть проблема?
Подобные вопросы есть, но ответы "скачать ... переустановить MDAC" меня не устраивает. Другие программы с этими же кодами работают... проблема в этом конкретном проекте! Но, вот где именно???
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.