Sage 50 的 Pyodbc 到 SQLAlchemy 连接字符串

Posted

技术标签:

【中文标题】Sage 50 的 Pyodbc 到 SQLAlchemy 连接字符串【英文标题】:Pyodbc to SQLAlchemy connection string for Sage 50 【发布时间】:2020-04-01 09:47:35 【问题描述】:

我正在尝试将 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 来连接 pandas。有任何想法吗?假设问题出在这部分pyodbc://

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于Sage 50 的 Pyodbc 到 SQLAlchemy 连接字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 pyodbc 将表从 MS Access 迁移到 Postgres?

如何从 Sage 50 中提取电子邮件地址

使用 pyodbc 从 SQL 中检索数据

并行化 pandas pyodbc SQL 数据库调用

个项目涉及到的50个Sql语句(整理版)

一个项目涉及到的50个Sql语句(验证中)