2016-08-02 67 views
0

需要您幫助解決問題。我有一個VB.NET應用程序,我試圖連接到一個數據庫 - 非常簡單。.NET SQL連接 - 來自遠程機器

傳遞的連接字符串爲Data Source=<servername>;Initial Catalog=<DB name>;Integrated Security=True。要檢查連接的有效性,我使用mDB.Connection.ConnectionString - mDB的類型爲DataClassDataContext。現在,當我嘗試從本地服務器運行時,建立了與數據庫的連接。

但是,我將該exe文件複製到大陸以外的服務器並從此處運行,並且數據庫連接失敗。我從服務器返回連接字符串的這個值 - System.Data.SqlClient.SqlConnection

這裏有個奇怪的地方,另一個人可以執行相同的exe文件,但是如果他試圖從美國服務器上運行這個exe文件,他會面臨同樣的問題。我可以清楚地看到,這是不是一個例外,但連接簡單地拒絕(也沒有超時。)

請幫助..

+0

您的服務器是否配置爲遠程訪問,並且您嘗試登錄(您的域和用戶名)在該服務器中被定義爲可信? –

+0

信息太少。我最好的猜測是連接嘗試按名稱解析,DNS不知道名稱,或者您嘗試訪問的IP不可旋轉,或者中間的防火牆沒有打開正確的端口。 – xQbert

回答

0

我把遠程服務器的共享路徑上的UDL文件,並把服務器和數據庫名稱這可能會連接。但是,代碼似乎沒有連接。

正在使用的代碼非常簡單 - 嘗試 如果pubSQL.ValidServer( 「服務器名稱」, 「DB名」),然後 pubSQL.OpenServer( 「服務器名稱」, 「DB名」) 否則

  MsgBox("Unable to connect to DB") 
     End If 

    Catch ex As Exception : ok = False 
     MsgBox(ex.Message) 
    End Try 
    Return ok 

雖然我從本地美國服務器上運行它 - 我能夠連接,但是我複製相同的exe到歐洲服務器和數據庫連接失敗。我的對手在歐洲服務器上運行相同的exe文件,如果他從美國服務器上運行它,這種方法就行得通了,並失敗 我希望我的解釋有幫助。