首页 > 解决方案 > Sage 50 的 Pyodbc 到 SQLAlchemy 连接字符串

问题描述

我正在尝试将 pyodbc 连接切换到 sqlalchemy 引擎。我的工作 pyodbc 连接是:

con = pyodbc.connect('DSN=SageLine50v23;UID=#####;PWD=#####;')

这是我尝试过的。

con = create_engine('pyodbc://'+username+':'+password+'@'+url+'/'+db_name+'?driver=SageLine50v23')

我正在尝试连接到我的 Sage 50 会计数据,但不知道如何构建连接字符串。这是我下载 odbc 驱动程序https://my.sage.co.uk/public/help/askarticle.aspx?articleid=19136的地方。

我使用此网站(正在运行)https://www.cdata.com/kb/tech/sageuk-odbc-python-linux.rst获得了有关 pyodbc 连接的一些原始帮助,但想使用 SQLAlchemy 进行连接熊猫。有任何想法吗?假设问题出在这部分pyodbc://

标签: pythonsqlalchemypyodbcsage50

解决方案


根据这个线程Sage 50 使用 MySQL 来存储它的数据。但是,Sage 也提供了自己的 ODBC 驱动程序,它可能使用或不使用与 MySQL 本身相同的 SQL 方言。

SQLAlchemy 需要知道使用哪种 SQL 方言,因此您可以尝试使用mysql+pyodbc://...连接 URI 的前缀。如果这不起作用(可能是因为“Sage SQL”与“MySQL SQL”太不同了),那么您可能想询问 Sage 支持人员是否知道他们产品的 SQLAlchemy 方言。


推荐阅读