私は、データベースバックアップ機能を備えたWPF 4.5 .NETアプリケーションを作成しました。機能とバックアップはデバッグ時にうまく動作しますが、ClickOnceに公開してターゲットマシンにインストールすると、バックアップ以外は動作しません。なぜならClickOnceはアプリのフォルダの場所を難読化してバックアップステートメントが機能しなくなるからです。バックアップステートメントを短くする方法はありますか?ここに私のコードと私が手にエラーがあります: コード:ClickOnceでlocalDBデータベースをバックアップ
SaveFileDialog sfd = new SaveFileDialog();
string stringCon = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\whdb.mdf;Integrated Security=True";
string dbPath = Application.StartupPath + @"\whdb.mdf";
if (sfd.ShowDialog() == DialogResult.OK)
{
using (SqlConnection conn = new SqlConnection(stringCon))
{
string backupStmt = string.Format(@"backup database @whdb to disk='{0}' WITH INIT ", sfd.FileName);
using (SqlCommand sqlComm = new SqlCommand(backupStmt, conn))
{
sqlComm.Parameters.AddWithValue("@whdb", dbPath);
conn.Open();
sqlComm.ExecuteNonQuery();
conn.Close();
}
}
)
**************例外テキスト**************
System.Data.SqlClient.SqlException (0x80131904): Invalid database name 'C:\Users\Abubaker\AppData\Local\Apps\2.0\52WR4JTO.12O\D6M4D7OQ.Z3D\sa3a..tion_fef19ab42c2b8f22_0001.0000_9fc10c82bbf23ed2\whdb.mdf' specified for backup or restore operation.
BACKUP DATABASE is terminating abnormally.
が機能しません!私はApplication.StartupPathをバックアップステートメントで使用する必要があるので、そこに問題が残っています!接続文字列はきれいです – user7586828
私はlocalDBをプロジェクトに公開して公開するプロセスを知っています。たぶん、データディレクトリ|を理解する必要があるかもしれません。がんばろう ! –