0

私はアプリケーションを書いておりC#、データベースを使用してSQL情報を保持しています。database次のような接続を行うためのアドレスを定義しました。

  @"Data Source=.\SQLEXPRESS;AttachDbFilename=c:\users\pouya\documents\visual studio 2010\Projects\DataBaseDLL\DataBaseDLL\Database.mdf

この場合、別のコンピューターでアプリケーションを実行すると、アドレスが正しくないためにエラーが発生します。

このエラーを修正する方法はありますか? たとえば、アプリケーションが .. のように同じフォルダー内で検索するようにします\\database.mdf

4

2 に答える 2

2

*.mdf ファイルへの相対パスを使用する必要があります。

次の connectionString は、App_Data フォルダー内の mdf ファイルを検索します。この connectionString を web.config に入れます。

<connectionStrings> 
<add name="YourConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>  
</connectionStrings>

|DataDirectory|トリックをやっています...

于 2013-01-25T20:32:19.197 に答える
0

別のコンピューターでアプリケーションを実行していて、接続文字列がパスと一致しないため、データベースの場所を見つけることができませんか? あれは正しいですか?

その場合、接続文字列を自分で作成できます。

例えば:

    public class Example
    {

       string dirInfo = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
       string connectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=" + dirInfo + "\documents\visual studio       2010\Projects\DataBaseDLL\DataBaseDLL\Database.mdf"

    }

確かに、これを行うにはもっと良い方法があります。

于 2013-01-25T20:50:37.893 に答える