2014-04-11 80 views
0

我正在创建一个使用嵌入式SQLite数据库的Python应用程序。该程序创建数据库文件,它们位于共享网络驱动器上。此时,运行该程序的网络上将不会有超过5台计算机。通过网络的SQLite

我最初的想法是在启动时询问用户是否是服务器或客户端。如果他们是服务器,那么他们创建数据库。如果他们是客户端,他们必须在网络上找到服务器实例。我想的一种方法是将所有的db命令从客户端发送到数据库中的服务器和服务器实现。这会解决共享数据库问题吗?

另外,有没有办法创建一个SQLite“服务器”。我认为这将是更快的选择,如果可用?

注:我不能使用如MySQL或PostgreSQL这样的服务器引擎在这一点上,但我使用ORM,所以当这成为可行的,它应该很容易改过来执行。

回答

0

下面是一个“SQLite服务器”,http://sqliteserver.xhost.ro/,但它看起来好像没有维护多年。

SQLite支持并发本身,多个进程可以一次读取数据,只有一个可以写入数据。另外,当某个进程正在写入时,它将锁定整个数据库文件几秒钟,而其他进程需要根据官方文档等待。

我想这对于5个过程来说足够了。只需要编写代码来处理等待。