1

DALとしてEntityFrameworkを使用するC#.NETFramework4.0デスクトップアプリケーションがあります。私以外の任意のマシンのDBContextにデータを保存しようとすると、例外が発生しました

Failed to update database "*.mdf" read only

DBを.exeファイルの近くの「DAL/AppData」フォルダーに保存します。

他のマシンで書き込みアクセスを許可するにはどうすればよいですか?プログラムで実行できますか?

DBをAppRoamingFolderに配置できることを読みましたが、これは私のバリアントではありません。

前もって感謝します。

4

1 に答える 1

3

「DAL/AppData」フォルダーにある.exeファイルの近くにDBを保持しています。

はい。これがプログラム ファイル フォルダにあるということですか。

過去 10 年間の Windows の仕様で、通常のユーザーに対して「読み取り専用」とされているものはありますか?

ああ。

THer は、データを格納するためのフォルダーです。そのようなすべてのフォルダーの有効なパスを取得する SpecialFolders 列挙があります。

他のマシンで書き込みアクセスを許可するにはどうすればよいですか? プログラムでそれを行うことはできますか?

SQL Server では、これは他のコンピューターがデータ ファイルではなくサーバーにアクセスできるようにすることによって行われます。つまり、データベースがロードされている他のマシンの SQL Server に接続します。

DB を AppRoaming フォルダーに配置できることを読みましたが、これは私のバリアントではありません。

まず、実際にローミングを計画していない限り、それはばかげています.SQLはローカルフォルダーに移動する必要があり、決してローミングしません.

第二に、「not my variant」は「やあ、私はルールに反して車を運転しています。スピード違反切符を切られないようにするにはどうすればよいですか」のようなものです。そして、「法律に従うことは私の変種ではありません」。あなたのバリアントは、Windowsが気にしないものです。データを変更してはいけない場所が非常に明確な Windows のガイドラインに従って、ソフトウェアをインストールする方法を学びます。

于 2013-01-30T19:13:53.763 に答える