2014-01-06 50 views
0

基本上,我有一個Windows窗體應用程序,其中包含一個dataGridView,該DataSource是一個名爲VoRteXData.mdf的MDF文件。現在,我需要將其部署到外部位置。對於我的表單代碼,它包括:將包含MDF文件的項目部署到外部計算機

private void Form1_Load(object sender, EventArgs e) 
    { 
     SqlConnection sqlCon = new SqlConnection(); 
     sqlCon.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Moderator\Documents\VoRteXData.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"; 
     sqlCon.Open(); 
     SqlDataAdapter sda = new SqlDataAdapter("select * from VoRteXBanTable", sqlCon); 
     DataTable dt = new DataTable(); 
     sda.Fill(dt); 
     dataGridView1.DataSource = dt; 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     string searchFilter = textBox1.Text; 

     for (int i = 0; i < dataGridView1.Rows.Count; i++) 
     { 
      if (dataGridView1.Rows[i].Cells[0].Value.ToString() == searchFilter) 
      { 
       dataGridView1.Rows[i].Selected = true; 
       dataGridView1.Rows[i].Visible = true; 
      } 
      else 
      { 
       dataGridView1.CurrentCell = null; 
       dataGridView1.Rows[i].Visible = false; 
       dataGridView1.Rows[i].Selected = false; 
      } 
     } 
    } 
} 

接下來,在我的MDF文件中有一個表和五個字段,大約有50條記錄。在將項目發佈到外部計算機時,出現錯誤:「建立到SQL Server的連接時出現網絡相關或實例特定的錯誤。未找到服務器或無法訪問服務器。請確認實例名稱是否正確並且SQL服務器被配置爲允許遠程連接「。但是,我沒有使用SQL Server Management Studio,因爲我需要在沒有主機的情況下在外部位置部署它。我不希望用戶安裝所有的SQL先決條件,因爲這太荒謬了。那麼有沒有辦法讓C#運行這個MDF文件呢?或者mabye將其免費上傳到網絡?

回答

1

客戶機必須安裝SQL Server Express。您可以將它作爲先決條件包含在setup.exe中。這隻會安裝數據庫引擎。但是,如果您不希望客戶端計算機安裝SQL Server Express,則需要將應用程序更改爲使用SQL Server Compact。這樣它就不需要安裝在客戶端上的SQL Server實例。

相關問題