2012-03-07 3 views
0

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

  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, это как-то влияет на это? Что мне не хватает?

+0

Что проблема именно? Любые сообщения об ошибках? – ChrisWue

+1

Возможный дубликат [SQLConnection.Open(); throwing exception] (http://stackoverflow.com/questions/2398628/sqlconnection-open-throwing-exception) – ChrisWue

+0

Я редактировал начало вопроса. – hannu40k

ответ

1

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

var con = new OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;" + "data source=C:\\wantedDB.mdb;"); 
Смежные вопросы