在网络驱动器上共享 sqlite 数据库有什么真实的经历吗?
我有一位客户有兴趣雇用我的公司来做一个小型、定制、多用户联系人数据库/CRM。他们不关心我使用的技术,只要产品托管在他们的组织内部(无“云”托管)。现在的问题是他们的 IT 部门拒绝在他们的服务器上托管外部公司开发的任何应用程序,此外他们也不允许任何不由他们提供服务的服务器进入他们的网络。
IT 允许的共享数据的唯一方法是 Windows 网络共享...
我想将应用程序作为 Adobe Air 中的胖客户端来执行,并让所有用户访问共享的 sqlite 数据库,但后来我读了很多这种方法的负面影响。
所以我问你 - 有没有人真正尝试过这个?
你有什么经历?
I have a client who is interested in hiring my company to do a small, custom, multi-user contact database/crm. They don't care about the technology I use, as long as the product is hosted inside their organization (no "cloud" hosting). Now the problem is that their IT department refuses to host any application developed by an outside company on their servers, additionally they will not allow any server not serviced by them inside of their network.
The only means of sharing data that IT would allow is a windows network share...
I was thinking to do the application as a fat client in Adobe Air, and let all users access a shared sqlite database, but then I read a lot of negative things about this approach.
So I'm asking you - Are there people out there who have actually tried this ?
What are your experiences ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 MS-Access 2007+ (accdb) 文件。
当然,有许多数据库引擎具有更多功能和更好的 SQL 语法,但如果您正在寻找一个基于文件的数据库系统,可以由共享 Windows 驱动器上的多个进程同时访问,那么 accdb 文件也是不错的选择我想你会得到的。
另请注意,另一种流行的嵌入式数据库 SQL Server Compact Edition 不能在共享驱动器上使用(至少不能由不同计算机的多个进程使用)。
参考:
在网络驱动器上共享访问数据库:
http: //office.microsoft.com/en-us/access-help/ways-to-share-an-access-database-HA010279159.aspx#BM3
SQL Server CE 无法在共享驱动器上使用:
SQLCE 4 - EF4 .1 内部错误:无法打开共享内存区域
You can use an MS-Access 2007+ (accdb) file.
Of course there are many database engines with much more features and much better SQL syntax, but if you are looking for a file-based database system that can be accessed simultaneously by multiple processes on a shared Windows drive, then an accdb file is as good as you're going to get I think.
Also note that another popular embedded database, SQL Server Compact Edition, cannot be used on shared drives (at least not by multiple processes from different machines).
References:
Share Access Database on a Network Drive:
http://office.microsoft.com/en-us/access-help/ways-to-share-an-access-database-HA010279159.aspx#BM3
SQL Server CE Cannot be used on a shared drive:
SQLCE 4 - EF4.1 Internal error: Cannot open the shared memory region
sqlite 锁定数据库的方式意味着如果有可能有多个源尝试访问数据库,您必须小心。你要么必须开发一个等待方法,要么超时,或者其他什么
The ways sqlite locks databases means you have to be careful if there's a chance you'll have multiple sources trying to access the database. You either have to develop a waiting method, or a timeout, or something