Правильный способ подключения к локальному файлу .mdb с помощью SqlDataReader? - PullRequest
0 голосов
/ 07 марта 2012

Соединение всегда прерывается без генерации сообщения об ошибке, даже если оно находится в trycatch.Я подозреваю, что что-то не так со строкой подключения.Это то, что у меня сейчас есть:

            string path = @"C:\PATH\TO\wantedDB.mdb";

            if (!File.Exists(path))
                throw new FileNotFoundException("File not found.");
            else
                Console.WriteLine("File found."); // File is found, so nothing wrong with that.

            string connectionstring = "Database=wantedDB;AttachDBFilename=" +
            path + ";Server=(local)";

            using (SqlConnection conn = new SqlConnection(connectionstring))
            {
                Console.WriteLine("Opening connection...");
                conn.Open();
                Console.WriteLine("Connection opened."); // Program never gets here.

Я также пробовал реляционный путь в строке подключения, например:

string connectionstring = "Database=wantedDB;AttachDBFilename=\"wantedDB.mdb\";Server=(local)";

БД не защищена паролем.У меня установлен MS Access, это как-то влияет?Чего мне не хватает?

1 Ответ

1 голос
/ 07 марта 2012

Для подключения к файлу MDB вы должны использовать соединитель OLEDB:

var con = new OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;" + "data source=C:\\wantedDB.mdb;");
...