2013-08-02 3 views
1

Я пытаюсь импортировать Excel-файл в SQL Server 2005 на C#, но я получаю сообщение об ошибке.Не удалось подключиться к SQL Server с C#

Вот мой код:

namespace excel 
{ 
public partial class Csharp_Excel : Form 
{ 
    public Csharp_Excel() 
    { 
     InitializeComponent(); 
    } 

    DataSet ds = new DataSet(); 
    SqlDataAdapter da = new SqlDataAdapter(); 

    DataTable dt = new DataTable(); 

    private void button1_Click(object sender, EventArgs e) 
    { 
     string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); 
     path = Path.Combine(path, "csharp-Excel.xls"); 

     string connStr = @"Server=.\\SQLEXPRESS;Data Source= C:\\Users\\adil pc\\Documents\\Visual Studio 2008\\Projects\\excel\\excel\\bin\\Debug\\csharp-Excel.xls;Initial Catalog=RMS;Integrated Security=SSPI;"; 

     SqlConnection con = new SqlConnection(connStr); 
     string strCmd = "select * from [sheet1$A1:E7]"; 

     SqlCommand cmd = new SqlCommand(strCmd, con); 

     try 
     { 
      con.Open(); 
      ds.Clear(); 
      da.SelectCommand = cmd; 
      da.Fill(dt); 
      dataGridView1.DataSource = ds.Tables[0]; 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.ToString()); 
     } 
     finally 
     {    
     } 
    } 

    private void btnsend_Click(object sender, EventArgs e) 
    { 
    } 
} 

ошибка, что я получаю:

System.Data.SqlClient.SqlException: Произошла ошибка сети, связанные или экземпляра указано при установлении подключение к SQL Server

+0

Если вы получаете SSMS (Sql Server Management Studio), вы можете напрямую импортировать Excel. – NoLifeKing

+0

нет Я хочу сделать это через C#, так как пользователь загрузит его – user2454135

ответ

0

Я думаю, что я получил это работает я сделал некоторые изменения в строке соединения:

string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\csharp-Excel.xls;Extended Properties=\"Excel 8.0;HDR=Yes;\"; 

он работает над демонстрационным инструментом havent в фактическом проекте, как только я это сделаю.