0

次の接続文字列を使用して、サービス ベースのデータベースにアクセスしています

static string appath = Library_Records.Program.app_path;

string connectionstring = @"Data Source=.\SQLEXPRESS;AttachDbFilename=appath;Integrated Security = true;User Instance = True";
connection = new SqlConnection(connectionstring);

 static string dbfiles = null;
 internal static string app_path
 {
     get { return dbfiles = "|Datadirectory|\\5700.mdf"; }
 }

Library_Records:namespace、Program は含むクラス名です。Main()

を呼び出すとconnection.Open()、次のエラーが発生します

ファイル apath の自動命名データベースをアタッチしようとして失敗しました。同じ名前のデータベースが存在するか、指定されたファイルを開くことができないか、ファイルが UNC 共有にあります。

5700.mdf拡張子を持つ私のデータベースです。この問題を修正するにはどうすればよいですか?

4

1 に答える 1

3

変数が文字列の値に自動的に置き換えられることはないため、機能しAttachDbFilename=appath;ません。

次のようにする必要があります。

string connectionstring = 
    string.Format(@"Data Source=.\SQLEXPRESS;AttachDbFilename={0};Integrated Security=True;User Instance=True", appath);

connection = new SqlConnection(connectionstring);
于 2012-06-01T09:04:08.353 に答える