Sql Compactで複数の接続が許可されている場合、ファイル共有エラーが表示されるのはなぜですか?
-
06-07-2019 - |
質問
ここでは、Sql Server Compactでは最大で256接続。
しかし、2つの接続を開こうとすると、ファイル共有エラーが表示されます。どうすれば解決できますか?
SqlCeConnection c1 = new SqlCeConnection("Data Source=testDB.sdf;Encrypt Database=True;Password=test;File Mode=shared read;Persist Security Info=False;");
SqlCeConnection c2 = new SqlCeConnection("Data Source=testDB.sdf;Encrypt Database=True;Password=test;File Mode=shared read;Persist Security Info=False;");
c1.Open();
c2.Open(); // throws SqlCeException
c1.Close();
c2.Close();
ファイル共有違反があります。別のプロセスがファイルを使用している可能性があります。 [testDB.sdf]
解決
これは接続文字列の問題でした。
File Mode=Read Write
問題を解決しました。
他のヒント
この問題を調査すると、いくつかのリソースとこの投稿が見つかります。誰かがそれを必要とするかもしれないので、見つけたものをここに残します。
MSDNによるとによると、 File Mode
が割り当てられていない場合、デフォルトで Read Write
が使用されます。
そして、 Read Only
dbを開く必要がある場合、この投稿では、2つのパラメーターを割り当てる必要があると述べています。 1つは File Mode
で、もう1つは Temp Path
です。
所属していません StackOverflow