6

ここでは、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 ]

4

2 に答える 2

9

これは接続文字列の問題でした。

File Mode=Read Write

問題を解決しました。

于 2009-01-13T09:52:48.907 に答える
2

この問題を調査すると、いくつかのリソースとこの投稿が見つかりました。誰かがそれを必要とするかもしれないので、私が見つけたものをここに残します。

MSDNによるとFile Mode、割り当てられていない場合Read Write、デフォルトで使用されます。

また、Read Onlyデータベースを開く必要がある場合、この投稿では 2 つのパラメーターを割り当てる必要があると述べています。1 つはFile Mode、もう 1 つはTemp Pathです。

于 2013-04-08T09:21:06.447 に答える