配置ubuntu odbc和pypyodbc
1. 安装分为三步
1.1. 第一步、安装ODBC、FreeTDS模块
sudo apt-get install tdsodbc unixodbc
1.2. 第二步、修改/etc/odbcinst.ini
[FreeTDS] Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
1.3. 第三步、修改/etc/freetds/freetds.conf
[Global] TDS_Version = 8.0 client charset = UTF-8
2. pypyodbc的安装和使用
2.1. pypyodbc安装
pip install pypyodbc
2.2. pypyodbc示例代码
import pypyodbc
conn = pypyodbc.connect('Driver=FreeTDS;Server=192.168.1.2;port=1433;uid=sa;pwd=pwd1;database=db_name')
print conn.cursor().execute('select * from a_table').fetchone()[0]
2.3. pypyodbc的中文乱码问题
一个烦心事情是pypyodbc查询到的中文结果都显示为问号乱码,下面的代码可以解决这个问题。但会导致无法正常获取查询结果的字段名称(curser.description
结果异常)。由于修改了sys全局设置,目前不清楚是否还有其它副作用。
import sys
reload(sys)
sys.setdefaultencoding('utf8')
pyodbc.connect(connStr,unicode_results=True, charset="utf8")