0

これ:

SqlConnection myConnection = new SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename='C:\\Users\\Joe\\Documents\\Visual Studio 2012\\Projects\\FileIO\\FileIO\\Database.mdf';Integrated Security=True");
try
{
   myConnection.Open();
}
catch (Exception e)
{
   Console.WriteLine(e.ToString());
}

このエラーを返します:

System.Data.dll System.Data.SqlClient.SqlException: SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(プロバイダー: 名前付きパイプ プロバイダー、エラー: 40 - SQL Server への接続を開けませんでした)

何か案は?

4

2 に答える 2

1

データ ソースに二重のバックスラッシュがありません。\vを垂直タブとして読んでいます。

または@、文字列全体の前に先頭を使用して、そのままの文字列として扱うこともできます (これを行う場合は、ファイルパスの余分なバックスラッシュを削除する必要があります)。

于 2013-05-17T22:03:52.340 に答える
0

( SQL Server への接続確立中にエラーが発生しましたからコピー)

この問題は、.net バージョン 4.0 で実行されていないアプリケーションに関連していました。

次のページによると: http://www.connectionstrings.com/sql-server-2012#sqlconnection

名前付きパイプを使用するには、.net 4.0 以降が必要です。

Server=(localdb) 構文は、4.0.2 より前の .NET Framework バージョンではサポートされていません。ただし、名前付きパイプ接続は、4.0.2 より前のアプリケーションを LocalDB インスタンスに接続するために機能します。

SqlLocalDB.exe create MyInstance
SqlLocalDB.exe start MyInstance
SqlLocalDB.exe info MyInstance

情報は名前付きパイプを提供し、これは接続文字列で使用できます。

<add name="conn" 
providerName="System.Data.SqlClient" 
connectionString="Server=np:\\.\pipe\LOCALDB#B1704E69\tsql\query"/>
于 2013-05-17T22:02:54.023 に答える