解决Ubuntu下pymssql访问SQL Server返回None的Bug

前几天帮朋友写了段python脚本,爬网上的一些数据。

他使用SQL Server作为db back-end,代码里我使用到pymssql。

大约三四百万条记录,但目标站点做了数据防爬取,一个IP访问频次有限制。

我在自己的VPS上也拷贝了一个副本,同时运行。

随后发现程序在VPS上运行异常,在shell中导入后测试,发现SELCET语句竟然每次都是返回None。

这确实是个BUG,不过并非我的SQL语句有问题,而是pymssql自身的BUG。见:

https://bugs.launchpad.net/ubuntu/+source/pymssql/+bug/918896

apt-get install python-pymssql

安装的版本较低,是1.02。

而我在自己的PC上安装的是2.0.0。

上面的链接中也提到了快速解决的方法,依次执行:

apt-get remove python-pymssql

apt-get install python-pip

pip install pymssql