Python 中的 Sybase IQ 连接
Sybase IQ connection in Python
我花了几天时间试图确定如何通过 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,我不想离开它。
一段时间后,我解决了这个问题(在 Windows 上)。首先,安装 SQL Anywhere 17 驱动程序。安装后,在 Windows ODBC 数据源 window 中,使用 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_sqlany
模块,以及 sqlalchemy
。
我花了几天时间试图确定如何通过 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,我不想离开它。
一段时间后,我解决了这个问题(在 Windows 上)。首先,安装 SQL Anywhere 17 驱动程序。安装后,在 Windows ODBC 数据源 window 中,使用 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_sqlany
模块,以及 sqlalchemy
。