2017-07-31 124 views
1

我的應用程序在客戶端PC上粉碎。在更改SQL連接字符串並設置文件後,我在我的第二臺筆記本電腦上安裝了另一個SQL Server 2014。而在我的開發人員機器中,「第一個」工作起來很簡單。但是當我改變連接設置,就像我爲我的筆記本電腦做的那樣,把應用程序帶到客戶端機器就會破碎。c#Windows窗體應用程序崩潰在客戶端機器

我在所有計算機上使用相同的SQL Server 2014。

,並顯示如下消息:

enter image description here

我試圖重新安裝新的.NET框架,但沒有太多的工作。 我該怎麼辦她?

+0

你能分享你的代碼導致問題嗎? –

+0

先生,我認爲這不是從代碼。因爲當我在我的SQL連接代碼中更改服務器的名稱時,該應用程序正在另一臺PC上工作。 –

+0

也許你的SQL服務器不允許來自所有IP地址的連接。 – MetaColon

回答

1

在Program.cs,App.cs或App.xaml.cs中,您可以註冊一個異常處理程序,它捕獲所有未處理的異常,即使是那些導致崩潰的異常。程序啓動後立即向AppDomain.CurrentDomain.UnhandledException註冊函數,並在該處理函數中將第二個參數中的ExceptionObject轉儲到文本文件。這至少會給你提供進一步的信息。

除此之外,由於我們沒有足夠的信息,因此我們無法確定即使是該故障的遠程原因。

+0

謝謝你,我會盡力做到這一點。 –

0

我完全同意在代碼中需要錯誤處理!不過,以下可能會有所幫助。

  1. 我強烈建議您的應用程序中沒有固定的連接字符串。這使得很難移植到客戶機。而是在您的設置中包含連接字符串。

  2. 在客戶端機器上打開記事本並保存一個帶有.udl擴展名的新文件(您需要選擇保存對話框下拉菜單中的所有文件),例如testconn.udl。現在從資源管理器中雙擊新的.udl文件。數據鏈接屬性窗口應該打開。在提供程序選項卡上,選擇SQL Server Native Client。在「連接」選項卡上,選擇客戶端的SQL Server的名稱並根據需要填寫其他選項。現在點擊測試連接。希望它會說測試成功。現在單擊確定,然後在記事本中重新打開.udl文件。它將創建一個oledb字符串。對於SQLClient,您不需要「Provider =」部分,也可以忽略初始文件名和ServerSPN;然而,剩下的部分將爲您提供客戶端需要的連接字符串值。

  3. 假設你已經完成了1.和2.你現在可以編輯你的應用程序的配置文件來包含正確的連接字符串。

唯一可能出錯的是如果2.中的測試連接不起作用。可能有這麼多原因,我不會在這裏再次猜測。請嘗試一下,並報告任何問題。如果測試連接不成功,至少你可以確定問題不是你的代碼!

+0

謝謝你,兄弟,我會做,並通知你。 –

相關問題