萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> SQL數據庫實例名稱找不到或遠程連接失敗並顯示錯誤error40的原因及解決辦法

SQL數據庫實例名稱找不到或遠程連接失敗並顯示錯誤error40的原因及解決辦法

分享由字符“\”轉義引起的SQL數據庫實例名稱找不到或遠程連接失敗並顯示錯誤error40的解決辦法:

一、問題介紹
很久沒有用c#去連數據庫程序了,不過在網上找了一些資料,基本上還是寫出來了,但是調試初步完成的程序時候,卻發現在con.open()這個方法總是出錯,說找不到數據庫實例名稱,或者遠程連接失敗,顯示的錯誤是error40。

錯誤如下:

 

二、環境介紹
1、我的數據庫是sqlserver2008,使用的開發環境是vs2013,.net4.0

2、我的數據庫安裝采用的命名實例,所以在編寫數據庫連接字符串的時候的服務器名稱應為 【計算機名\數據實例名】

數據庫連接字符為:

 

當發現連接錯誤之後,我以為是我的sql2008和vs2013環境不對而導致的錯誤,之後把以前的項目打開,把數據庫附加上,更改一下數據連接字符串,發現錯誤是一樣的。

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

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

注意

在寫sql連接字符串,或者是在windows平台寫文件路徑的時候都記得在前面加上@字符,養成良好的習慣。

copyright © 萬盛學電腦網 all rights reserved