我花了几天时间尝试确定如何通过Python3.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
是存在的;然而,这个包让我降级到Python2.7。我的堆栈是3.6,我不想离开它。
发布于 2018-12-20 03:31:10
一段时间后,我能够解决这个问题(在Windows上)。首先,安装SQL Anywhere 17驱动程序。安装完成后,在Windows ODBC Data Sources窗口中,使用SQL Anywhere 17和您的Sybase IQ凭证设置连接。完成配置并成功测试后,您可以使用以下代码片段进行连接:
from sqlalchemy import create_engine
sybase_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()
我相信您将需要通过pip以及sqlalchemy
安装sqlalchemy_sqlany
模块。
https://stackoverflow.com/questions/53726766
复制相似问题