Python 3.x 的 TopSpeed ODBC 驱动程序

TopSpeed ODBC Driver for Python 3.x

有没有办法让旧学校的 TopSpeed (.TPS) 数据库在 Python 中工作?

基本上,我想将数据聚合 C# 应用程序转换为 AS/400 DB2 中的各种数据和映射驱动器中的一些 .TPS 文件,并将其转换为 Python Web 应用程序。 DB2 部分已经处理好了。

我一直认为这可以通过 PyODBC 和 SQLalchemy 来完成,但我对这种数据库类型一无所知。什么是连接字符串?如何将映射驱动器连接到 Ubuntu 容器中?是否有用于此的 Linux 驱动程序或 unixODBC 是否工作?我不知道。

任何事情都可以提供帮助。谢谢。

这是用于 C# 应用程序的连接字符串。

为未来的我和其他人回答我的问题。

TopSpeed Driver 仅适用于 16 位和 32 位 Windows。使用 32 位 Python 和 32 位 Driver 应该可以。

不幸的是,根据我广泛的研究,没有 Linux driver 可用,而且 driver 不是免费的。出于法律原因,我不会将 driver 的网站放在这里,但快速 Google 搜索应该会告诉您购买方式。

此外,目前还没有 sqlalchemy 的方言,我认为不会。

出于我的目的,我使用 pyodbc 进行连接,如下所示:

TPS_CONNECTION_STRING = (
    'Driver={Topspeed ODBC Driver (Read-Only)};'
    'DBQ=X:\;'
    'Extension=tps;'
)

TPS_DB_CONNECTION =pyodbc.connect(TPS_CONNECTION_STRING, autocommit=True)

其中 DBQ.tps 文件的目录或位置。然后使用

连接并执行查询
TPS_DB_CURSOR = TPS_DB_CONNECTION.cursor()
res = TPS_DB_CURSOR.execute('SELECT * FROM FILE')
TPS_DB_CURSOR.close()

由于我们正在使用 pyodbc 连接,我们还可以使用 pandas read_sql 函数立即将结果返回到 DataFrame 中。只需通过连接object;在此示例中,它将是 TPS_DB_CONNECTION