2013-07-26 280 views
0

我想連接到Microsoft Access數據庫,但我無法獲得連接使用c#連接工作,但無法讓它工作試圖使用sql連接登錄窗體,這也是一個本地連接無法連接到SQL數據庫

private void button1_Click(object sender, EventArgs e) 
{ 
    SqlConnection conn = new SqlConnection("Data Source ='(local)';Initial Catalog ='UserAccounts.accdb';Integrated Security=true"); 
    SqlDataReader rdr = null; 
    try 
    { 
     conn.Open(); 
     MessageBox.Show("Working"); 
    } 
    catch (Exception) 
    { 
     MessageBox.Show("Error with the databse connection"); 
    } 
    finally 
    { 
     Console.ReadLine(); 
     if (rdr != null) 
     { 
      rdr.Close(); 
     } 
     if (conn != null) 
     { 
      conn.Close(); 
     } 
    } 
} 
+2

如果你'趕上(例外EXC){MessageBox中。展(exc.Message); }「這些提供了什麼有用的信息? –

+0

@NathanLoding當建立一個到sql server的連接時,我得到一個網絡相關或實例特定的錯誤。 (服務器:命名管道提供程序,錯誤:40無法建立與SQL服務器的連接) 那是什麼?它說我知道我必須做的方式即時通訊它只是不知道什麼時間做錯了 – user2552211

回答

1

這聽起來很簡單,但你說你想連接到的MS Access,但使用SqlConnection,這是專門到SQL Server,所以當然它永遠不會工作。

的MS Access,您可以使用OleDbConnection用正確的連接字符串,這樣的:

private void button1_Click(object sender, EventArgs e) 
{ 
    string connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=UserAccounts.accdb; Persist Security Info=False;"; 
    using(OleDbConnection conn = new OleDbConnection(connectionString)) 
    { 
     try 
     { 
      conn.Open(); 
      MessageBox.Show("Working"); 
     } 
     catch (Exception e) 
     { 
      MessageBox.Show("Error with the database connection\n\n + e.ToString()"); 
     } 
    } 
    Console.ReadKey(true); 
} 

檢查最合適的連接字符串here

+0

這就像一個魅力工作謝謝 – user2552211