2009-07-16 11 views
1

これまで開発中のアプリケーションでは、データベースをアプリケーションのベースディレクトリに保存していました。これが展開されると、プログラムファイルに格納されますので、そこに置くことはできません!データベースファイルはどこに保存しますか?

obvoius場所は以下のとおりです。

Environment.SpecialFolder.LocalApplicationData 
Environment.SpecialFolder.ApplicationData 

一つの問題は、私はタスクが同じユーザーの下で実行されたことを確認しなければならないので、データのダウンロードがsceduledタスクから実行することができるということです。

重要な問題は、2,3年後にこれらのデータベースファイルの合計が5〜10GBになる可能性があるため、インストール後にデータベースの場所を選択するオプションをユーザに与える必要があるように感じます。私はそれが書き込み可能であり、ネットワークの場所ではないことを保証する必要があります。

他の解決策はありますか?

答えて

0

ディレクトリへの書き込みアクセスの確認について:これまでのところ、ディレクトリにファイルを作成してすぐに削除するよりも良い方法はありませんでした。これらの手順でエラーが発生した場合は、権限が不十分です。 (ドライブに十分な空き容量があるかどうか最初に確認してください)。

あなたがいるかどうかを確認することができます

...私は一度アクセス制御リストを経て、プログラムでこれを解決しようとしたが、その後私はACLをリストアップする権利priviligesを書きではなく、持っていたディレクトリに遭遇しました特定のドライブはSystem.IO.DriveInfoオブジェクトのDriveTypeプロパティを使用してネットワーク共有になります。 UNCの教え手を扱うことに関しては、私はまだより良い方法を見つける必要があります。(myPath.Substring(0,2) == @"\\")

関連する問題