2012-06-20 60 views
1

我在我的服務器上安裝了Asp.net中的網站,並在SQL Server 2008 R2中安裝了我的網站數據庫。我的網站有包含ActiveX組件的頁面。當我在服務器上運行我的網站時,ActiveX組件工作正常,但是當我從客戶端運行網站時出現問題。SQL Server中的錯誤40

不包含ActiveX組件的頁面正常工作,我可以從數據庫中獲取並插入數據。在包含ActiveX組件的頁面中,它給了我SQL Server錯誤號40,它無法打開連接。

任何人都可以幫我解決這個問題嗎?

+0

檢查你的配置文件中的連接字符串 – praveen

+1

我希望你的activeX組件不直接調用SQL服務器? –

+0

連接字符串工作正常,因爲具有活動x組件的頁面可以連接到數據庫 –

回答

0

正如Steve B在他的評論中暗示的那樣,問題在於ActiveX組件直接調用數據庫。應用程序中的連接字符串指定從Web服務器到數據庫服務器的連接。這些連接有效,因爲您的防火牆設置允許從該Web服務器到數據庫服務器的入站連接。當ActiveX控件中的連接設置爲直接連接到數據庫時,由於防火牆阻止來自運行ActiveX組件的客戶端的入站連接,因此會出現連接失敗。解決方法是重新設計您的應用程序,以便客戶端機器上的ActiveX組件不再直接對數據庫進行調用;利用網絡服務或這種性質的東西。如果客戶端全部位於域內(也就是說這是一個私人應用,並且永遠不會面向公衆),那麼防火牆可能會錯誤地配置爲允許內部連接到數據庫服務器。