开始提示,
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没问题。。。
上一篇: 函数语言的纠结
下一篇: dht爬虫终于有眉目了
0 Responses so far.