SQL資料庫例項名稱找不到或遠端連線失敗並顯示錯誤error40的原因有哪些

來源:果殼範文吧 1.29W

分享由字元“”轉義引起的SQL資料庫例項名稱找不到或遠端連線失敗並顯示錯誤error40的解決辦法

SQL資料庫例項名稱找不到或遠端連線失敗並顯示錯誤error40的原因有哪些

一、問題介紹

很久沒有用c#去連資料庫程式了,不過在網上找了一些資料,基本上還是寫出來了,但是除錯初步完成的程式時候,卻發現在()這個方法總是出錯,說找不到資料庫例項名稱,或者遠端連線失敗,顯示的錯誤是error40。

錯誤如下:

二、環境介紹

1、我的資料庫是sqlserver2008,使用的`開發環境是vs2013,4.0

2、我的資料庫安裝採用的命名例項,所以在編寫資料庫連線字串的時候的服務器名稱應為 【計算機名資料例項名】

資料庫連線字元為:

當發現連線錯誤之後,我以為是我的sql2008和vs2013環境不對而導致的錯誤,之後把以前的專案開啟,把資料庫附加上,更改一下資料連線字串,發現錯誤是一樣的。

三、解決辦法

找了一個多小時錯誤最後發現,以前寫sql連線字元的時候前面的都會加一個@符號,因為我字串中有字元“”,如果不加的會提示錯誤,所以我每次都會加了。但是上次重灌系統的時候把命名例項改為了“t”字元開頭的名稱了。然後【t】這個表示是一個製表格符,所以並不是會出錯,本身就是一個轉義符號的正確的使用場合,因為沒有出錯,也就忘記了加“@”了。

解決辦法就是在字串前面加一個@。

注意

在寫sql連線字串,或者是在windows平臺寫檔案路徑的時候都記得在前面加上@字元,養成良好的習慣。

熱門標籤