2017-08-01 70 views
1

我使用安裝盾限制版部署了一個項目,如果我將它安裝在我的電腦上,它可以很好地工作。如果我把它帶到另一臺PC(沒有SQL服務器),只要按下一些需要連接到數據庫的按鈕,我就會得到這個異常。安裝項目後的c#錯誤

enter image description here

任何人誰可以解決這個問題?

+3

那麼你想連接到一個不存在的SQL Server?如果你做到了,你就會變得富有! – Gusman

+1

我不知道安裝盾 - 但我想它不會安裝SQL Server數據庫:)你應該使用一些本地文件數據庫像SQLite,它可以很容易地「發佈」你的代碼或使用中央數據庫所有的客戶都會連接) – Piotr

+0

先生@Piotr你可以簡單描述一下還是給我鏈接? –

回答

0

我最近有類似的問題!

我最好的選擇是你有一個或兩個這樣的事情發生。或者您有端口未打開,您需要爲您的程序打開以便與您通信,或者(最有可能)組策略在您要安裝的計算機上阻止應用程序。我發生這種情況主要是哈希。

這傢伙不一定是一個簡單的修復。我會做的是打開Windows事件查看器並通過錯誤的堆棧跟蹤並查看哪個庫拋出異常。然後,我會開放組策略,看看您是否可以在策略中找到該名稱。

另一個想法是,它可以非常容易地成爲一個權限集,您在您的SQL服務器上不允許計算機與它通話,但那是另一個問題。

0

如果您的應用程序使用本地數據庫(在本地sql server中),您應該找到一種方法將數據庫與您的應用程序或MS-SQL Server連接在一起。 在您附加的圖片中提到的B/C:「沒有找到服務器..」 所以如果你有這樣一個簡單的按鈕,你應該能夠通過連接字符串到達​​你的服務器。

private void button1_Click(object sender, EventArgs e) 
    { 
     string connetionString = null; 
     SqlConnection cnn ; 
     connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password" 
     cnn = new SqlConnection(connetionString); 
     try 
     { 
      cnn.Open(); 
      MessageBox.Show ("Connection Open ! "); 
      cnn.Close(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Can not open connection ! "); 
     } 
    } 

注:如果您使用的是本地連接的數據庫,這是你應該在你的新部署PC上安裝MS-SQL服務器必須的。

+0

先生有無論如何運行應用程序的SQL? –

+0

你的意思是沒有安裝SQL Server?的應用程序?如果是這樣,是的,只有當你使用遠程服務器時(例如你的服務器連接在網絡上)。 – yido

+0

我想安裝在客戶端PC上。 –