2012-09-17 4 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;を指定してみましたが、<データベース名>は、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#で)でもエスケープするのを避けるために使うことができました。私はそれを反映するために私の答えを更新しました。 –

関連する問題

 関連する問題