2012-10-23 30 views
1

我有一個專門的服務器上運行的一些asp.net web應用程序。對於網站之一,我做的維護任務將所有用戶上傳的圖像升級到新的命名約定。控制檯應用程序無法連接到服務器,從SQL Server實例,但可以從本地機器

我寫了一個小而簡單的控制檯應用程序來完成這項工作。我把連接字符串在我的app.config像這樣:

<add key="CS" value="Data Source=1.1.1.1;Initial Catalog=MyDatabase;User ID=usr; Password=pwd" /> 

當然,細節,在這裏是假的,他們實際上不是MyDatabase等等......但我確實連接到SQL服務器使用一個IP地址

我的所有Web應用程序都有相同的格式,其web.config文件中的相同詳細信息,只是數據庫名稱除外。一切工作正常。

我可以從我的本地dev的機器運行控制檯應用程序,具有生產數據庫,它連接很好,沒有問題。 (在測試DB跑測試查詢成功)

現在,我需要訪問硬盤重命名文件等...所以我要在服務器上運行該控制檯應用程序。我的FTP應用到我的服務器並嘗試運行它有..它的錯誤出來說:

A network-related or instance-specific error occurred while establishing 
a connection to SQL Server. The server was not found or was not accessible. 
Verify that the instance name is correct and that SQL Server is configured 
to allow remote connections. (provider: SQL Network Interfaces, 
error : 26 - Error Locating Server/Instance Specified) 

我一樣,相同的連接是從我的dev的機器運行良好,前面所提到的,當我嘗試運行在服務器控制檯應用程序這只是發生..

我試圖尋找,但找不到任何地方的類似情況.. ESP。因爲所有使用相同值的我的Web應用程序都能正常工作。是否需要告訴應用程序使用某些內容?

非常感謝

+0

檢查防火牆 – SLaks

+0

@SLaks,嗨,你能展開一點,我需要什麼樣的防火牆來檢查嗎? – LocustHorde

+0

嘗試把一個內部的IP或機器名稱代替 – NSGaga

回答

1

Web服務器和數據庫服務器在同一臺計算機上嗎?

無論如何,在Web服務器上打開一個命令提示符並執行以下操作:

telnet <ip>, 1433 

這裏假設你的標準端口上運行SQL Server上,如果沒有相應的改變。

看看你是否可以通過telnet連接到數據庫服務器,有助於找出是否有防火牆/基本的連接問題。

+0

嗨,遠程登錄無法識別,我試圖添加功能,但得到的消息,重新啓動掛起,並沒有功能可以添加重新啓動時掛起..而我不現在真的不想重新啓動prod服務器!另外,數據庫是本地的,但IP以192.x.x.x開頭。我認爲這也是本地的? – LocustHorde

+0

可能是個好主意,不要重新啓動!這取決於你的意思,'本地主機'在技術上解決IP 127.0.0.1。嘗試在192.x.x.x中放置p,其中p是SQL Server端口號,然後查看是否可以連接。在兩者之間加入逗號! –

+0

嗨,嘗試了端口號.. didn;噸做任何改變..現在我想知道,如果發生的變化的所有,我會盡量pring在控制檯上的連接字符串,並檢查.. – LocustHorde

相關問題