python - 数据库接口(interface)

标签 python database windows desktop-application

我想用 Python (PyGTK) 实现一个数据库桌面应用程序。到目前为止,我一直在使用 sqlite3,但我读到它不是很好,如果很少有人想同时访问它。我现在正在考虑切换到另一个界面,但我不知道是哪个界面,也不知道是否真的有必要。

我需要/拥有的:

  • 2 个表,每个表约有 2000 个条目,这是主要数据集,但会添加更多。
  • 数据库将存储在本地网络中。该应用程序将由大约 5 个人在 5 台不同的 PC 上使用。
  • 该工具的使用频率不高,很少有人同时使用/编辑的可能性很小,但这种情况可能会发生。
  • 安全很重要,但由于该工具在 Intranet 中运行,所以我不需要关心登录/备份。这是由服务器和 IT 人员完成的。
  • 数据库应该不会太慢,还有一点,每个条目大约有 3 张图像(总共 15000 张)。我认为如果用户选择相应的条目,则实时生成它们中的每一个会很慢,但我必须尝试一下。或者,我生成所有图像并将文件路径存储在数据库中。
  • 操作系统必须是 Windows (XP/7/64bit)

有什么建议吗?

最佳答案

SQLite允许单个作者但多个读者。

当然在这种情况下这并不重要。当多个用户尝试在您的网络上打开和写入该 SQLite 数据库文件时,数据库文件的最后一个写入者将获胜,而其他更改将丢失。

您需要使用如下数据库服务器:

括号中的链接是关于 Python DB-API 的信息链接。这些数据库的驱动程序。

好消息是,如果您已经有一个与 sqlite3 驱动程序一起工作的应用程序,您实际上只需要检查一下并将 sqlite3 替换为适合的驱动程序即可您切换到的数据库。那么,您还需要使用一些关于在何处连接到网络上的数据库服务器的附加信息来更新您的应用程序。

例如,SQLite 只需要数据库文件的路径,而上述任何数据库都需要主机/IP 地址、端口、数据库名称、数据库用户名和数据库密码。

我个人更喜欢 PostgreSQL,但这很可能取决于您的 IT 和服务器员工他们想要支持什么。我想您可以使用 SQLServer Express 之类的东西(因为您的数据集似乎没有那么大)并且它可能更适合 Windows 环境。

关于python - 数据库接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11829494/

相关文章:

windows - 重复的 Windows 防火墙规则(Netsh AdvFirewall 防火墙)

Windows 批处理脚本将 run_dt=1/3/2015 拆分为 "/"

python - 编程语言中 C API 的包装器

python - 如何在取消停靠后调整几何图形后触发 QTreeView 的更新

java - 我应该如何阻止数字字符串在显示时四舍五入?

sql-server - SQL Server中如何比较两个相同的值

c - 在 C 中为 win32 和 win64 打开 stdin/stdout/stderr 的 Windows 控制台

具有正确语法的 Python SyntaxError

python - 在Pygame中根据FPS制作时间延迟

database - 我如何在播放框架中使用默认数据库以外的其他数据库?