使用 HFSQL 驱动程序使用 connect() 方法时,PYODBC 结束程序

问题描述 投票:0回答:1

我正在尝试使用 PyODBC 连接到 HFSQL 数据库。我即将让它发挥作用,但有一些我无法弄清楚。

这是我的代码:

import pyodbc
import pandas as pd

def main():
    engine = 'Driver={HFSQL};Server Name=10.11.0.17;Server Port=4900;Database=suivi_dossiers;UID=admin;PASSWORD='
    cnx = pyodbc.connect(engine)
    cursor = cnx.cursor()
    cursor.execute("SHOW TABLES")
    for x in cursor.fetchall():
        print(x)

    data = pd.read_sql("SELECT * FROM CLIENTS",cnx)
    print(data)

if __name__=='__main__':
    main()

请注意,数据库不需要任何密码。我知道参数是正确的,因为如果我稍微改变它们,就会出现错误!

使用调试器和打印,我发现这个脚本在到达

cnx = pyodbc.connect(dsn)
行时崩溃,但不是立即崩溃。就好像它能够连接,但在此过程中的某个地方,它因任何原因崩溃了。

更糟糕的是它甚至没有崩溃,它只是结束了进程。这意味着它甚至不会尝试其他代码行(该行之后的打印)。使用 Try/Except 不会再做任何事情。所以老实说我不知道该怎么办。

值得注意的是,我在 MySQL 数据库上以相同的方式尝试了这个确切的代码/逻辑,并且它有效,任何时候都不会崩溃。

我还尝试从 ODBC 系统设置 DSN,它给出的结果与没有 DSN 时完全相同。

此外,ODBC 可以与 HFSQL 正常配合,因为当我在 PowerBI 上使用 ODBC 方法时,我可以从 HFSQL 数据库中获取数据。所以问题肯定来自 PYODBC。

我也尝试过使用 PyPyODBC,这是在某个时候推荐的,但它已经很多年没有更新了(最后支持的 Python 版本是 3.3)

因此,如果有人知道,即使只是一个可以帮助我访问这个糟糕的数据库的解决方法,那就太好了!谢谢!

python odbc pyodbc windev
1个回答
0
投票

我也面临同样的问题。有解决方法吗?

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.