用python访问SqlServer

在ubuntu下用python访问windows2008下的SqlServer

参考文档:

http://www.jeffkit.info/2010/01/476/

http://www.blogwind.com/Wuvist/74789.shtml

写道
使用py包:pymssql
安装linux下的ODBC驱动管理程序:
sudo apt-get install unixodbc unixodbc-dev freetds-dev tdsodbc python-dev

编辑文件:/etc/odbcinst.ini 添加
[FreeTDS]
Description = TDS driver (Sybase/MS SQL)
Driver = /usr/lib/odbc/libtdsodbc.so
Setup = /usr/lib/odbc/libtdsS.so
CPTimeout =
CPReuse =

安装pyodbc
sudo easy_install pyodbc

测试:
import pyodbc
conn = pyodbc.connect("DRIVER={FreeTDS};SERVER=192.168.0.47;UID=sa;PWD=icnet@2012;DATABASE=cxonline")

运行后,报错
pyodbc.Error: ('08S01', '[08S01] [unixODBC][FreeTDS][SQL Server]Unable to connect: Adaptive Server is unavailable or does not exist (20009) (SQLDriverConnect)')
写道
报错是由于SqlServer服务没开启远程访问
根据网上教程,对服务器开期远程访问

参考文档:http://blog.csdn.net/longren629/article/details/4746569

测试:

import pyodbc
conn = pyodbc.connect("DRIVER={FreeTDS};SERVER=192.168.0.47;UID=sa;PWD=icnet@2012;DATABASE=cxonline")
cur = conn.cursor()
sql = 'select top 10 CRMCompanyName from _CRM_Company'
cur.execute(sql)
rs = cur.fetchall()
for r in rs:
    print r[0].decode('gbk')

结果

写道
重庆无线绿洲通信技术有限公司
北京英赛
深圳摩迩凯
深圳科讯
智联广通3180
北京华欣威
科讯二部
ALLIC分公司
万维力科
北京迪赛奇正科技有限公司

猜你喜欢

转载自xiaolin0199.iteye.com/blog/2020913