我已经死路一条,我真的可以使用一些帮助。
我是一家大公司的实习生。我的项目涉及创建一个应用程序来自动化/简化退休员工的工作。
这里的问题在于严格的公司政策。我是公司业务端的开发人员。因此IT没有给我任何东西:
我最初的想法是将Silverlight(独立运行)与SQLite结合使用。我运行了一个测试和存储在共享驱动器上的Silverlight文件。 (Silverlight安装在网络上的每台电脑上)这是我首选的前端。但是(如果我错了,请纠正我)我尝试了SQLite-net,我需要将sqlite3.dll添加到我的windows / system32文件夹中,但是在网络PC上我无法访问到Windows文件夹,所以无法完成。
另外,我读到SQLite或文件一般在多个用户作为一个用户访问时会损坏,所以也许我认为锁定是一个想法。
我的问题有哪些解决方案?
答案 0 :(得分:2)
我在一家公司工作了几年,为警察部门编写软件来管理交通碰撞报告。警察局通常几乎没有IT支持,因此我们面临许多类似的限制。该公司实际上使用Microsoft Access数据库做得很好,设置看起来像这样:
共享驱动器有一个Access数据库文件(.mdb或.accdb),它是实际的“数据库”。 客户端计算机(在官员办公桌上)具有Access应用程序,其具有用于临时存储的本地“实用程序”表,在表单中定义的UI以及在模块中定义的逻辑。每个客户端计算机都使用链接表连接到共享驱动器上的存储库。本地客户端配置存储在配置表中的Access应用程序中,或存储在计算机上的文本文件中。
这不是最干净的解决方案,但它允许您使用不需要安装的文件来创建和维护统一的解决方案,并且不需要任何有趣的权限,只要每个人都具有读/写访问权限共享驱动器。
答案 1 :(得分:1)
创建一个网站。今天,你可以在一个独立的.exe中托管ASP网络应用程序。通过这样做,您可以确保共享文件只能由一个进程访问。您还可以限制对sqlite的访问。
这也意味着您不必分发任何东西。只需启动您的应用程序,并告诉您的用户他们也必须浏览哪个网址和端口。
对于权限,只有运行webhost的帐户才需要访问共享文件等。
答案 2 :(得分:1)
你应该看看ScimoreDB。它是一个支持多进程读/写访问的嵌入式数据库。如果需要,它还可以充当客户端/服务器数据库;即使是具有多个节点的分布式数据库。
可以免费使用和部署。它支持C ++和.NET。唯一的缺点是它只适用于Windows。