通过网络访问数据库而不实际共享它
Access Database over a network without actually sharing it
所以这是交易。我有一个 WPF 应用程序,它将所有数据存储到 MS Access 数据库中。但它应该是一个基于多用户的应用程序。
我想要的:
从每个用户节点到 运行 的应用程序 exe,并存储在特定用户 drive/location.
的数据库中
我尝试过的:
我将我的应用程序和访问数据库文件放在一个共享文件夹中,一切正常。但我不希望我的用户能够复制数据库。根据我的研究和发现,如果我将任何文件放在共享位置,我无法阻止任何人复制它。
考虑到我对网络的了解微乎其微。我希望你能帮助我找出我应该寻找的东西,或者我应该学习的东西。或者,如果您可以提供解决方案。感谢任何帮助或建议。
这是我想象中的样子:
抱歉,这是不可能的。
Access 数据库只是一个文件。任何对该文件具有读取权限的人都具有对该文件的读取权限,这允许他们复制它。
您可以尝试混淆文件位置,但精通技术的用户将始终能够下载数据库。
您正在寻找客户端-服务器 RDBMS。有大量可用的(MS SQL、MySQL、Oracle、Postgres 等)。事实上,它比 Access 这样的数据库更常见。
或者,您可以开发自己的服务器来读取和写入数据库并将数据传递给节点,并禁止节点直接访问数据库,但这非常重要,并且服务器不支持 Access。
所以这是交易。我有一个 WPF 应用程序,它将所有数据存储到 MS Access 数据库中。但它应该是一个基于多用户的应用程序。
我想要的: 从每个用户节点到 运行 的应用程序 exe,并存储在特定用户 drive/location.
的数据库中我尝试过的: 我将我的应用程序和访问数据库文件放在一个共享文件夹中,一切正常。但我不希望我的用户能够复制数据库。根据我的研究和发现,如果我将任何文件放在共享位置,我无法阻止任何人复制它。
考虑到我对网络的了解微乎其微。我希望你能帮助我找出我应该寻找的东西,或者我应该学习的东西。或者,如果您可以提供解决方案。感谢任何帮助或建议。
这是我想象中的样子:
抱歉,这是不可能的。
Access 数据库只是一个文件。任何对该文件具有读取权限的人都具有对该文件的读取权限,这允许他们复制它。
您可以尝试混淆文件位置,但精通技术的用户将始终能够下载数据库。
您正在寻找客户端-服务器 RDBMS。有大量可用的(MS SQL、MySQL、Oracle、Postgres 等)。事实上,它比 Access 这样的数据库更常见。
或者,您可以开发自己的服务器来读取和写入数据库并将数据传递给节点,并禁止节点直接访问数据库,但这非常重要,并且服务器不支持 Access。