請教各位大俠,我遇到一個奇怪的現象,我們有臺客戶端(作業系統是xp)程式是c#開發的,需要連接后臺的sqlserver服務器的資料庫(服務器作業系統也是xp),原始碼中連接資料庫是直接寫死的服務器的機器名加資料庫名和密碼,之前一直用的很好,連接也很正常,但最近客戶端的作業系統壞了,我們重新做了xp系統(和之前xp版本不一樣),再運行程式卻連接不上原來后臺服務器的資料庫了,但是連接另一臺win7系統的備用服務器正常。ping服務器的機器名也能ping通,并且啟用備用客戶端電腦(也是xp系統)連接原后臺服務器正常。這是怎么回事呢?
uj5u.com熱心網友回復:
有三個情況得了解清楚:1、重裝XP的電腦,能否ping通服務器XP?
2、能ping通的話,用ssms連接一下服務器的資料庫,看看情況。一般來說,重裝的系統對IGMP協議入站規格是關閉的,把它啟用就正常。
3、最復雜的是第三種,服務器的程式是不是系結了每臺客戶機的SID(作業系統唯一標識),這儂就要寫程式的人來解了。(可能性不大)
uj5u.com熱心網友回復:
感謝子軒!第一種已經排除,至于第二種,新做的客戶端能連接備用服務器,是不是第二種也可以排除啊?第三種可能性就像您說的很小,幾臺機器都是拿到電腦店給安裝的作業系統,回來后廠家又給按的軟體uj5u.com熱心網友回復:
https://blog.csdn.net/yenange/article/details/50853083看一下我的博客, 最重要的是 telnet ip 埠 是否能通?
如果能通, 肯定能訪問。
關鍵應該是 資料庫服務器, 而不是你這個什么 xp 系統這臺機。
資料庫服務器很可能設定了白名單, 而你這臺 xp 這臺機不在白名單之列。
uj5u.com熱心網友回復:
多謝歌,我看看sqlserver是否設定了白名單uj5u.com熱心網友回復:
別在無厘頭的亂猜,首先要搞清楚,服務器是在哪臺,能ping通,就測驗下服務器本機能不能上資料庫。
能上的話,就看看這個軟體,是用的443埠,還是別的指定埠。
確定了之后,你到重裝的這臺客戶機上,檢查防火墻以及埠是否正常,并打開。
再來嘗試是否能連接上去。
不是用軟體連接,是用ssms連接。我記得xp只能用sql2000或2005的sql express版本,更高的版本不支持。
uj5u.com熱心網友回復:
重新安裝的客戶端備機連接服務器正常,重新安裝的客戶端連接服務器備機正常uj5u.com熱心網友回復:
問題解決了,換了一個版本的xp作業系統,就好了?轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/49527.html
標籤:疑難問題
