Python 中的 Sybase IQ 连接

我花了几天时间试图确定如何通过 Python 3.6 连接到 Sybase IQ 数据库。我试过pyodbc和pymssql,无济于事。下面是我一直在研究的两个代码片段,无论我尝试什么,它们似乎都不起作用。


pyodbc:


conn = pyodbc.connect(driver='{SQL Server Native Client 11.0}',

                          server=server,

                          database=database,

                          port=port,

                          uid=user,

                          pwd=pwd)

pymssql:


conn = pymssql.connect(server=server,

                        port=port,

                        user=user,

                        password=pwd,

                        database=database)

我也读过这FreeTds可能是连接到 Sybase IQ 数据库的解决方案;我认为它是作为pymssql数据库的一部分安装的,但我似乎无法弄清楚如何利用它。任何帮助将不胜感激!


编辑:我知道sqlanydb存在;然而,这个包让我降级到 Python 2.7。我的筹码是 3.6,我不想放弃。


慕码人2483693
浏览 443回答 1
1回答

子衿沉夜

一段时间后,我能够解决这个问题(在 Windows 上)。首先,安装 SQL Anywhere 17 驱动程序。安装完成后,在 Windows ODBC 数据源窗口中,使用 SQL Anywhere 17 和您的 Sybase IQ 凭据建立连接。配置并成功测试后,您可以使用以下代码片段进行连接:from sqlalchemy import create_enginesybase_connection_string = "sqlalchemy_sqlany://{user}:{pwd}@{host}:{port}/{db}".\        format(user=user, pwd=pwd, host=host, port=port, db=database)engine = create_engine(sybase_connection_string)return engine.connect()我相信您将需要sqlalchemy_sqlany通过 pip 安装模块,以及sqlalchemy.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python