Sql Compactで複数の接続が許可されている場合、ファイル共有エラーが表示されるのはなぜですか?

StackOverflow https://stackoverflow.com/questions/427888

  •  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 です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top