SQLite Connections漂移? (网络共享 - 离线可用)

时间:2014-04-16 15:06:44

标签: python sqlite

我使用python sqlite3模块通过网络共享连接到SQLite数据库。有3台计算机连接到数据库,但它们似乎已经在他们认为的数据库中漂移了。我打印了几次感兴趣的桌子,得到了以下结果:

1 /这就是我找到这张桌子的方式。由于第3行和第4行有结束时间但不是开始,因此这里出现了问题。注意第5行正在EDI-8433H5J上运行:

Row         Status      Host         Start                       End
----------  ----------  -----------  --------------------------  --------------------------
0           F           EDI-26WDF5J  2014-04-15 12:02:32.152000  2014-04-15 23:10:39.664000
1           R           EDI-5RRXXX1  2014-04-16 04:49:12.853000
2           R           EDI-26WDF5J  2014-04-16 09:04:14.556000
3           S                                                    2014-04-16 04:49:12.822000
4           S                                                    2014-04-16 09:13:16.596000
5           R           EDI-8433H5J  2014-04-16 09:13:16.643000
6           W

2 / EDI-26WDF5J无法运行并写了一个' F'状态到第2行。但EDI-8433H5J的第5行是哪里?

Row         Status      Host         Start                       End
----------  ----------  -----------  --------------------------  --------------------------
0           F           EDI-26WDF5J  2014-04-15 12:02:32.152000  2014-04-15 23:10:39.664000
1           R           EDI-5RRXXX1  2014-04-16 04:49:12.853000
2           F           EDI-26WDF5J  2014-04-16 09:04:14.556000  2014-04-16 09:51:50.592000
3           S                                                    2014-04-16 04:49:12.822000
4           W
5           W
6           W

3 / EDI-5RRXXX1然后无法正常运行并写入' F'第1行的状态。它已从EDI-26WDF5J注册更新。

Row         Status      Host         Start                       End
----------  ----------  -----------  --------------------------  --------------------------
0           F           EDI-26WDF5J  2014-04-15 12:02:32.152000  2014-04-15 23:10:39.664000
1           F           EDI-5RRXXX1  2014-04-16 04:49:12.853000  2014-04-16 09:54:14.967000
2           F           EDI-26WDF5J  2014-04-16 09:04:14.556000  2014-04-16 09:51:50.592000
3           S                                                    2014-04-16 04:49:12.822000
4           W
5           W
6           W

4 /现在EDI-8433H5J无法运行并写了一个' F'状态为第5行。但第1行和第2行的状态与更改之前的状态相同。

Row         Status      Host         Start                       End
----------  ----------  -----------  --------------------------  --------------------------
0           F           EDI-26WDF5J  2014-04-15 12:02:32.152000  2014-04-15 23:10:39.664000
1           R           EDI-5RRXXX1  2014-04-16 04:49:12.853000
2           R           EDI-26WDF5J  2014-04-16 09:04:14.556000
3           S                                                    2014-04-16 04:49:12.822000
4           S                                                    2014-04-16 09:13:16.596000
5           F           EDI-8433H5J  2014-04-16 09:13:16.643000  2014-04-16 10:16:06.728000
6           W

EDI-8433H5J与EDI-26WDF5J和EDI-5RRXXX1有完全不同的数据库。

请注意,这是在Windows共享上执行的,而且我还可以离线"所有计算机上包含数据库的文件夹的选项。这会导致不同连接之间存在替代现实吗?

我似乎无法手动重新创建问题,所以我有点难过。任何帮助将不胜感激。

编辑:结论

所以,我想故事的寓意是不要尝试使用脱机文件访问网络共享SQLite数据库,正如Andrew Medico所说,Windows(* nix too?)将无法合并数据库成功(数据库文件存在一些同步错误)。这可能是导致不同版本的数据库出现在不同机器上的原因。

0 个答案:

没有答案