2013-06-06 29 views
0

我为我的一个项目使用SQL CE 3.5,前端是处理给定文件并将数据转储到SQL CE数据库的WPF应用程序。将SQL精简版数据库保存在同一网络中的另一台机器上时遇到的问题

目前应用程序和数据库在同一台机器上。

客户希望他能够从网络上的任何机器运行应用程序,但数据库应该保持在服务器的共享位置。

用户将在应用程序中选择SDF文件的路径,然后当任何文件被处理时,应用程序会将数据转储到数据库。

我的问题是,如果将SDF文件保存在网络共享位置并从任何机器访问它,那么它会正常工作还是可能出现问题?

回答

1

实际上,这是不可能的 - SQL CE不支持网络托管操作:与sdf文件(临时数据)相关的所有内容都记录到本地机器,而不是网络源,因此服务器无法处理请求正确。

可以使用SQL Express服务器,其作用类似于数据存储,本地客户端,你唯一需要的是微软同步库2.1(它也可以与SQL CE 4.0 SP1)

汇总,创建SQL CE数据库,填充表格,索引它们,然后将其移植到SQL Server Express,将同步模块添加到您的应用程序(在单独的线程ofc中),就是这样。

另一种解决方案是使用MS Access数据库,它允许这样的混乱,但它是令人难以置信的慢,更不用说没有办法允许同时写入数据库。

+0

我已经测试过这个,我在网络共享上保留了数据库,然后通过我的应用程序在SQL CE .sdf中插入记录。 – Deepesh

+1

是的,它可以工作,但是当时只有一个用户可以连接,并且这是一个不受支持的场景。 – ErikEJ

相关问题