接続文字列の一時パスにあるSQLCeローカルデータベース?
-
06-07-2019 - |
質問
アプリにSQL Ce dbがあり、アプリディレクトリに含まれています。デバッグ中はOKですが、setup.exeで公開して実行すると、「ファイルが見つかりません」を取得します。アプリの実行元の一時ディレクトリ内。標準の場所から実行したいのですが、変更方法がわかりません。
この文字列を使用しています:
SqlCeConnection connection = new SqlCeConnection("Data Source=database.sdf;Persist Security Info=False;");
setup.exeを実行すると、アプリが起動せず、一時ディレクトリにdbファイルが見つからなかったと表示されます。 app.exeを実行すると機能します。わかりません...:(
編集:VSプロジェクト設定には、接続文字列があり、" Data Source = | DataDirectory | \ Database.sdf"
があることがわかります。パスはローカルディレクトリのようなものでなければなりませんか?ありがとう!
解決
接続文字列を動的に構築します。このようなもの:
string connString = string.Format("Data Source={0}; Persist Security Info=False;",
Path.Combine(Application.StartupPath, "database.sdf"));
所属していません StackOverflow