分享由字符“\”轉(zhuǎn)義引起的SQL數(shù)據(jù)庫(kù)實(shí)例名稱找不到或遠(yuǎn)程連接失敗并顯示錯(cuò)誤error40的解決辦法:
一、問(wèn)題介紹
很久沒(méi)有用c#去連數(shù)據(jù)庫(kù)程序了,不過(guò)在網(wǎng)上找了一些資料,基本上還是寫(xiě)出來(lái)了,但是調(diào)試初步完成的程序時(shí)候,卻發(fā)現(xiàn)在con.open()這個(gè)方法總是出錯(cuò),說(shuō)找不到數(shù)據(jù)庫(kù)實(shí)例名稱,或者遠(yuǎn)程連接失敗,顯示的錯(cuò)誤是error40。
錯(cuò)誤如下:
二、環(huán)境介紹
1、我的數(shù)據(jù)庫(kù)是sqlserver2008,使用的開(kāi)發(fā)環(huán)境是vs2013,.net4.0
2、我的數(shù)據(jù)庫(kù)安裝采用的命名實(shí)例,所以在編寫(xiě)數(shù)據(jù)庫(kù)連接字符串的時(shí)候的服務(wù)器名稱應(yīng)為 【計(jì)算機(jī)名\數(shù)據(jù)實(shí)例名】
數(shù)據(jù)庫(kù)連接字符為:
當(dāng)發(fā)現(xiàn)連接錯(cuò)誤之后,我以為是我的sql2008和vs2013環(huán)境不對(duì)而導(dǎo)致的錯(cuò)誤,之后把以前的項(xiàng)目打開(kāi),把數(shù)據(jù)庫(kù)附加上,更改一下數(shù)據(jù)連接字符串,發(fā)現(xiàn)錯(cuò)誤是一樣的。
三、解決辦法
找了一個(gè)多小時(shí)錯(cuò)誤最后發(fā)現(xiàn),以前寫(xiě)sql連接字符的時(shí)候前面的都會(huì)加一個(gè)@符號(hào),因?yàn)槲易址杏凶址癨”,如果不加的會(huì)提示錯(cuò)誤,所以我每次都會(huì)加了。但是上次重裝系統(tǒng)的時(shí)候把命名實(shí)例改為了“t”字符開(kāi)頭的名稱了。然后【\t】這個(gè)表示是一個(gè)制表格符,所以并不是會(huì)出錯(cuò),本身就是一個(gè)轉(zhuǎn)義符號(hào)的正確的使用場(chǎng)合,因?yàn)闆](méi)有出錯(cuò),也就忘記了加“@”了。
解決辦法就是在字符串前面加一個(gè)@。
注意
在寫(xiě)sql連接字符串,或者是在windows平臺(tái)寫(xiě)文件路徑的時(shí)候都記得在前面加上@字符,養(yǎng)成良好的習(xí)慣。
標(biāo)簽:南京 廣安 陜西 河北 馬鞍山 福建 通遼 阿里
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL數(shù)據(jù)庫(kù)實(shí)例名稱找不到或遠(yuǎn)程連接失敗并顯示錯(cuò)誤error40的原因及解決辦法》,本文關(guān)鍵詞 SQL,數(shù)據(jù)庫(kù),實(shí)例,名稱,找,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。