开始提示,

File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/dialects/mssql/pymssql.py", line 72, in _get_server_version_info
r"Microsoft SQL Server.*? - (\d+).(\d+).(\d+).(\d+)", vers)
File "/usr/lib/python2.7/re.py", line 137, in match
return _compile(pattern, flags).match(string)
TypeError: expected string or buffer

然后我打印了vers,发现为None,然后有修改连接字符串,发现不是连接的错误。

然后使用~$ sqsh -U sa -P 123456 -S 192.168.1.21,

1> select @@version
2> go

正确的打印了版本信息,这也不可能是我sqlserver的问题了。

为什么就会为None了呢,shell下直接用pymssql 执行select语句也都返回None。

这期间各种搜索。。各种啊,,没有找到有用的信息,啥都有。

然后 搜索 pymssql no data 发现google都有好多关键字提示。。。然后搜到了问题。

http://stackoverflow.com/questions/7250464/python-and-pymssql

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

$ apt-get remove python-pymssql
$ apt-get install freetds-dev
$ pip install Cython
$ pip install pymssql

就好了,我之前好像也是用apt-get安装的 因为我看编译需要依赖库,就没有安装,
直接apt-get了。fretds我是安装了的,Cython之前没有安装。不知道与Cython有没关系。


今天部署的时候发现好像是版本的问题,用1.0.2有这个问题,去下载dev 30130403没问题。。。

上一篇:
下一篇:

相关文章:

Categories: 博客记录

0 Responses so far.

Leave a Reply