C# 在网络共享路径上访问.mdf

C# 在网络共享路径上访问.mdf,c#,sql-server,sql-server-2008,sql-server-ce,sqlconnection,C#,Sql Server,Sql Server 2008,Sql Server Ce,Sqlconnection,我已经创建了一个应用程序,它将从.sdf文件中获取数据并将其显示给用户。它对第一个用户正常工作,如果第二个用户尝试使用它,则会抛出一个异常,即文件正被另一个进程使用 我已尝试解决该问题,但我无法做到这一点 相反,我尝试使用.MDF文件并将其放置在网络路径上,在这里,即使是第一个用户也无法连接到它 这是说网络不允许数据库 注意:连接字符串没有问题 通过网络向用户共享数据库的最佳方式是什么,以便用户可以同时访问数据库 使用哪个数据库以及如何实现它。以及如何连接到网络上的.MDF或.SDF文件。最好的

我已经创建了一个应用程序,它将从.sdf文件中获取数据并将其显示给用户。它对第一个用户正常工作,如果第二个用户尝试使用它,则会抛出一个异常,即文件正被另一个进程使用

我已尝试解决该问题,但我无法做到这一点

相反,我尝试使用.MDF文件并将其放置在网络路径上,在这里,即使是第一个用户也无法连接到它

这是说网络不允许数据库

注意:连接字符串没有问题

通过网络向用户共享数据库的最佳方式是什么,以便用户可以同时访问数据库

使用哪个数据库以及如何实现它。以及如何连接到网络上的.MDF或.SDF文件。

最好的方法是将数据放入服务器上的SQL Server数据库-停止在网络上摆弄文件和共享它们-使用数据库所在的中央服务器,然后,所有连接到该网络的PC都可以轻松地读取和写入数据,而不会出现任何混乱问题。sdf是SQL Server Compact Edition,它绝对只用于单个用户的本地数据库—它不是为了在网络上共享而设计的!网络共享可用作低效的数据库。您可以存储一些包含数据的文件,并在每次以某种同步方式访问时以独占方式打开它。然后会告诉您是否发生了更改以从中重新读取数据。但是mdf可能是这种情况下最糟糕的格式。您通过SQL server访问它需要一些时间来打开它,除非您分离数据库,否则它会保持打开锁定。