2012-09-17 44 views
14

這很奇怪,因爲我能夠通過SSMS 2008R2連接到localDB相同的連接字符串(「Data Source=(LocalDB)\v11.0;Integrated Security=true」)無法連接到VS2012中的localDB - 「與SQL Server建立連接時發生網絡相關或特定於實例的錯誤...」

只有C#代碼無法連接,我試圖增加登錄時間Connect Timeout=60但沒有運氣。

我也試過指定數據庫Initial Catalog=&lt;databasename&gt; <databasename>是我通過ssms在localdb上創建的數據庫。

任何指針,爲什麼這不連接?

+0

首先通過服務器資源管理器連接數據庫在VS.連接成功後右鍵單擊並找到屬性。在那裏你會得到連接字符串。只需將其複製並粘貼到web.config中即可。 –

+0

@Kundan我做到了,但它拋出了同樣的錯誤。服務器資源管理器連接成功,然後我複製連接字符串從屬性提到,但我的應用程序仍然無法使用相同的字符串連接。 –

+0

你可以直接粘貼連接字符串嗎? –

回答

33

有沒有可能是因爲你忘了雙反斜槓?你試試這個:

"Data Source=(LocalDB)\\v11.0;Integrated Security=true"

甚至更​​好,你可以只使用@馬克禁用字符轉義爲整個連接字符串:

@"Data Source=(LocalDB)\v11.0;Integrated Security=true"

+0

啊,這真是個訣竅。爲什麼它需要雙倍\\?真奇怪..謝謝!有效。 –

+1

看來\ v是一個特殊字符! –

+5

正是!如果沒有雙重轉義,'\ v'被認爲是單個(特殊)字符。您也可以使用'@'(在C#中)來避免任何轉義,我已經更新了我的答案以反映它。 –

相關問題