Python 什么是ODBC?我如何利用它(Linux)?

Python 什么是ODBC?我如何利用它(Linux)?,python,odbc,Python,Odbc,我正在使用SQLite创建一个主数据库。这个文件包含十几个表。我希望小组中的每个人都能访问它(通过Python或SQLite命令行),我只想把文件放在一个小组可读的目录中,并称之为“master.db” 现在,我想到了“ODBC”这个流行词 我记得我以前的Windows时代(谢天谢地,它们已经过去了),那时我可以“注册”并将Excel电子表格输入我的“数据源”;它将从任何应用程序中可见 我可以在Linux世界中利用这一点吗?这有什么意义吗 非常感谢。首先,这里是维基百科的文章。它是与数据库交互的

我正在使用SQLite创建一个主数据库。这个文件包含十几个表。我希望小组中的每个人都能访问它(通过Python或SQLite命令行),我只想把文件放在一个小组可读的目录中,并称之为“master.db”

现在,我想到了“ODBC”这个流行词

我记得我以前的Windows时代(谢天谢地,它们已经过去了),那时我可以“注册”并将Excel电子表格输入我的“数据源”;它将从任何应用程序中可见

我可以在Linux世界中利用这一点吗?这有什么意义吗


非常感谢。

首先,这里是维基百科的文章。它是与数据库交互的标准软件API。但是,如果您想同时使用SQLite和Python,我怀疑您是否需要使用它。Python有一个名为的内置模块,该模块将在这一过程中对您有所帮助。祝你好运。

如果只有少数人访问你的数据库,那么你应该没事。然而,SQlite在大量并发访问时表现不佳——我在有大量并发访问时从SQlite切换到mysql,因为数据库一直被锁定

对于许多并发访问,您需要一些介于两者之间的东西来承受请求的冲击,比如一个(小型)Web服务器,甚至一个python程序,它可以接受所有这些请求,并可以调节对sqlite db的访问。使用类似SQLAlchemy或SQLObject的ORM,可以以线程安全的方式访问sqlite


至于在linux上使用odbc使sqlite可以作为linux用户的数据源访问,而odbc当然可以在linux上工作,并且存在sqlite odbc驱动程序(),我认为您不能通过odbc将sqlite“注册”到数据源的中心列表中-这是纯windows…

为什么使用sqlite?为什么不使用MySQL或Postgresql或一些专门为多用户设计的数据库引擎?@S.Lott:因为它不需要服务器进程,而且可以轻松备份文件。考虑到我们的需要,我们需要一个零配置数据库;越简单越好。我不会将SQLite用于多用户数据库,因为它一次只允许一个进程写入表。至少我会使用类似SQLAlchemy的东西来访问数据库,这样您就可以轻松地切换到另一个后端。AFAIK SQLAlchemy也支持ODBC。MySQL可以轻松备份,通常预先安装在Linux上。“零配置”并没有真正意义,因为您必须配置ODBC。如果要通过公共共享文件配置ODBC,为什么不配置一个中央MySQL数据库?请定义“大量”并发访问。因为SQLite为一次写入锁定了整个数据库;少数作家之间可能不会有太多的干涉。但是有多少会成为您的问题呢?当时我正在使用线程查询Web服务并将结果存储到sqlite数据库中。我有4个线程在运行,当我有10多个关键字排队时,我遇到了“database is locked”(这很奇怪,我想,因为我没有更改线程的数量,只是更改要查找的关键字的数量)。我发现了一篇类似于本文讨论内容的帖子,并建议切换到mysql。我做到了,没有更多的问题。