1

私は情報を追跡するための小さなプロジェクトに取り組んでいます。このC#アプリケーションは、CSV / Excelを介してアップロードされた情報を取得し、保存/並べ替えます。

私の現在の接続文字列は絶対パスです(サムドライブから)。公開すると、ランダムユーザーのコンピューターでデータベース接続が機能しないのではないかと心配しています。

            <add name="PPP_Project.Properties.Settings.Database1ConnectionString"
        connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=E:\Other PPP Projects\PPP_Project_Test\PPP_Project\Database1.mdf;Integrated Security=True;User Instance=True"
        providerName="System.Data.SqlClient" />

アプリケーションが公開されたときに機能するように、このセットを設定するにはどうすればよいですか?

4

2 に答える 2

1

これを使用できます:

Data Source=.\SQLEXPRESS;AttachDbFileName=|DataDirectory|Customers.mdf;Integrated Security=True;User Instance=True

ここで説明されているように。winform アプリケーションの場合、デフォルトの |DataDirectory| アプリケーションがインストールされている場所と同じです。もちろん、よりネストされたパスの一部として使用できます。他の何かを指定したい場合は、AppDomain.SetDataメソッドを使用できます。

于 2011-04-18T21:27:43.810 に答える
0

接続文字列を操作する最も簡単な方法は、 ConnectionStringBuilder クラスを使用することです。

OleStringBuilder = new OleDbConnectionStringBuilder(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';");

OleStringBuilder.DataSource = MapPath(@"~\App_Datav\MyExcelWorksheet.xls");
于 2011-04-18T22:04:43.427 に答える