我正在尝试连接到Sybase数据库并从中检索数据。我正在使用安装了Anaconda存储库的Ubuntu 18.04系统,并希望使用Python 3.6。
我找到了一种方法……
找到了我的问题的解决方案: 正如@GordThompson所建议的那样,我使用pyodbc和FreeTDS进行连接。 我通过安装了FreeTDS驱动程序
sudo apt-get install freetds-dev freetds-bin unixodbc-dev tdsodbc sudo dpkg-reconfigure tdsodbc
如下所示: https://gist.github.com/rduplain/1293636
我的连接代码看起来像这样:
import pyodbc serv = server usr = user passwd = password db = database prt = port driver="FreeTDS" conn = pyodbc.connect(driver=driver, server=serv, database=db,port = prt, uid=usr, pwd=passwd) print(conn) cursor = conn.cursor() cursor.execute("select var1,var2,var3 from xxx where datum=1yymmdd and statnr=stat1") row = cursor.fetchall() print(row)
编辑:在我的pymssql.connect()调用中使用conn_properties =''也可以正常工作,就像@GordThompson建议的那样。
import pymssql conn =pymssql.connect(server=serv:port,user=usr,password=pwd,database=db, conn_properties='') print(conn) cursor = conn.cursor() cursor.execute("select var1,var2,var3 from xxx where datum=1yymmdd and statnr=stat1") list2 = cursor.fetchall() print(list2)
谢谢你的帮助!