標籤:沒有 管理工具 管理 方案 版本 sql資料庫 http 自己 nec
適用情景:1,ServerVersion出了問題,“SqlCnt.ServerVersion”引發了類型“System.InvalidOperationException”的異常2,在String上還以為Data Source應該是.或者local的,這個實際上是要看情況的。
問題描述: 在環境(SQL Server2008、Win7、32位、VS2010開發系統)下,串連資料庫失敗,出現“在於SQL Server建立串連時出現與網路相關的或特定於執行個體的錯誤,未找到或無法訪問伺服器,請驗證執行個體名稱是否正確並且SQL Server已配置為允許遠端連線。(provider:Named Pipes Provider,error:40 - 無法開啟SQL Server的串連)”。如所示:
解決方案: 既然錯誤提示已經說明可能是由於執行個體名稱寫錯了。那麼這有兩種可能性,一是SQL服務沒有開啟,二是SQL執行個體名真寫錯了。1、確認服務是否開啟,我們找到服務設定介面(控制台-->管理工具-->服務),如所示: 找到SQL Server服務,確認該服務已經開啟。 (註:SQL在安裝時預設的執行個體名為MSSQLServer,學習版為SQLEXPRESS) 2、查看項目的Web.config檔案,檢測資料庫連接字串的執行個體名(Data Source 的值)是否正確。如:我查看到配置的Data Source =. 點(.)表示使用MSSQLServer執行個體,但是從上面可以看出,我SQL使用的是Express版本資料庫,所以正確的配置應該是Data Source =. \SQLEXPRESS 有些人會說,我也清楚什麼時候用點(.),什麼使用.\SQLEXPRESS,亦或是自訂的執行個體名。那這個也好辦,只要拿SQL測試一下即可。開啟SQL SERVER Management Studio,在登入中測試我們的資料,把伺服器名稱設定為點(.),如所示: 把伺服器名設定為點(.),提示出錯,錯誤和上面一樣,但是我們換成“.\SQLEXPRESS”就能正常登入了。
出現這種問題的情況: 一般來說,執行個體名是很少配置錯誤的,但是如果是Team 專案,平時大家都運行正常,但是哪天突然把代碼和資料庫搬到其他電腦上去運行,由於不同電腦的SQL資料庫的版本的差異(有企業版的,有學習版的)就可能會出現這種問題,當然還有就是自己在安裝SQL的時候把執行個體名給修改成別的了。 除了執行個體名的問題或服務沒有開啟,還有一種情況,就是錯誤提示所說的可能沒有允許遠端連線。這個需要到“外圍組態工具”去修改一下就可以了。
擴充閱讀: 微軟對該問題的說明
(轉)在SQL Server 2016,Visual Studio 2017環境下,串連資料庫屢屢失敗,在connectionString上出的問題