2

最近、データベース (App_Data フォルダー内) を備えた単純な Web サイトを作成しました。データベースへの接続を作成する次のメソッドを使用して、(App_Code フォルダーに) クラス ファイルを作成しました。

public static SqlConnection ConnectToDb(string dbFileName)
{
    string path = HttpContext.Current.Server.MapPath("App_Data/");
    path += dbFileName;
    string connString =  @"Data Source=.\SQLEXPRESS;AttachDbFilename=" + 
                         path + 
                         ";Integrated Security=True;User Instance=True";
    SqlConnection conn = new SqlConnection(connString);
    return conn;

}

その接続を開く必要がある場合、次のメッセージが表示されます。

SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(プロバイダー: SQL ネットワーク インターフェイス、エラー: 26 - 指定されたサーバー/インスタンスの検索中にエラーが発生しました)

私が理解できないのは、1 年以上前に Visual Studio 2010 で構築した別の Web サイトで同じ方法を使用したことです。

パスを確認したところ、パラメーターのデータベースファイル名と同じで、正しいものでした。

コードまたは VS の設定の何が問題になっていますか? 前もって感謝します。

編集:(localDB)\v11.0代わりに使用しようとしたところ.\SQLEXPRESS 、次のエラーメッセージが表示されます:

SQL Server のユーザー インスタンスに接続する場合、ユーザー インスタンス ログイン フラグは許可されません。

4

1 に答える 1

2

(localDB)\v11.0は既に SQL Server のユーザー インスタンスであるため、このエラーが発生しています。SQLEXPRESSSQL Server インスタンスを使用していたときは、そうではありません。User Instance=trueしたがって、接続文字列の を取り除くだけです。

于 2013-09-04T17:03:43.487 に答える