分享由字符“\”轉(zhuǎn)義引起的SQL數(shù)據(jù)庫實例名稱找不到或遠(yuǎn)程連接失敗并顯示錯誤error40的解決辦法:
一、問題介紹
很久沒有用c#去連數(shù)據(jù)庫程序了,不過在網(wǎng)上找了一些資料,基本上還是寫出來了,但是調(diào)試初步完成的程序時候,卻發(fā)現(xiàn)在con.open()這個方法總是出錯,說找不到數(shù)據(jù)庫實例名稱,或者遠(yuǎn)程連接失敗,顯示的錯誤是error40。
錯誤如下:
![](http://img.jbzj.com/file_images/article/201511/20151113113715276.png?20151013113730)
二、環(huán)境介紹
1、我的數(shù)據(jù)庫是sqlserver2008,使用的開發(fā)環(huán)境是vs2013,.net4.0
2、我的數(shù)據(jù)庫安裝采用的命名實例,所以在編寫數(shù)據(jù)庫連接字符串的時候的服務(wù)器名稱應(yīng)為 【計算機名\數(shù)據(jù)實例名】
數(shù)據(jù)庫連接字符為:
![](http://img.jbzj.com/file_images/article/201511/20151113113738019.png?20151013113747)
當(dāng)發(fā)現(xiàn)連接錯誤之后,我以為是我的sql2008和vs2013環(huán)境不對而導(dǎo)致的錯誤,之后把以前的項目打開,把數(shù)據(jù)庫附加上,更改一下數(shù)據(jù)連接字符串,發(fā)現(xiàn)錯誤是一樣的。
三、解決辦法
找了一個多小時錯誤最后發(fā)現(xiàn),以前寫sql連接字符的時候前面的都會加一個@符號,因為我字符串中有字符“\”,如果不加的會提示錯誤,所以我每次都會加了。但是上次重裝系統(tǒng)的時候把命名實例改為了“t”字符開頭的名稱了。然后【\t】這個表示是一個制表格符,所以并不是會出錯,本身就是一個轉(zhuǎn)義符號的正確的使用場合,因為沒有出錯,也就忘記了加“@”了。
解決辦法就是在字符串前面加一個@。
注意
在寫sql連接字符串,或者是在windows平臺寫文件路徑的時候都記得在前面加上@字符,養(yǎng)成良好的習(xí)慣。
您可能感興趣的文章:- SQL Server 2005 還原數(shù)據(jù)庫錯誤解決方法
- 在oracle 數(shù)據(jù)庫中查看一個sql語句的執(zhí)行時間和SP2-0027錯誤
- 解決SQL2005備份數(shù)據(jù)庫.dat或bak還原時的結(jié)構(gòu)錯誤的解決方法
- 連接ACCESS數(shù)據(jù)庫時發(fā)生錯誤提示:找不到可安裝的 ISAM
- sql2008 附加數(shù)據(jù)庫時出現(xiàn)錯誤5123提示的解決方法
- sql2005 附加數(shù)據(jù)庫出錯(錯誤號:5123)解決方法
- plsql連接oracle數(shù)據(jù)庫報ora 12154錯誤解決方法
- SQL2008 附加數(shù)據(jù)庫提示5120錯誤解決方法
- SQLSERVER數(shù)據(jù)庫中的5173錯誤解決方法
- SQL2008 附加數(shù)據(jù)庫提示 5120錯誤 解決辦法
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請求檢索數(shù)據(jù) 錯誤916解決方法
- 解析mysql數(shù)據(jù)庫還原錯誤:(mysql Error Code: 1005 errno 121)
- MySQL數(shù)據(jù)庫導(dǎo)出與導(dǎo)入及常見錯誤解決
- Sqlserver 2005附加數(shù)據(jù)庫時出錯提示操作系統(tǒng)錯誤5(拒絕訪問)錯誤5120的解決辦法
- SQLServer無法打開用戶默認(rèn)數(shù)據(jù)庫 登錄失敗錯誤4064的解決方法