【菜鸟求助】python pymssql模块连接sql server服务器不成功问题

python2.7 for windows ,pymssql_win32 for py2.7已经安装。win7 32位系统,sqlserver2005绝对可以正常连接。

从网上学习了一段连接sql server的代码,可是在自己的机器上调试,总是报错。

代码如下:

import pymssql
con=pymssql.connect(host='10.116.5.176',user='sa',password='123456',database='MASTER_CNBJ')
cur=con.cursor()
cur.execute("select * from Price_CNBJ")
print cur.fetchall()
cur.close()
con.close()


以上为网上千篇一律的入门代码,可惜运行时报如下错误。

Traceback (most recent call last):
File "C:/Users/smc8236/Desktop/connSqlserver1", line 2, in <module>
con=pymssql.connect(host='10.116.5.176',user='sa',password='123456',database='MASTER_CNBJ')
File "pymssql.pyx", line 549, in pymssql.connect (pymssql.c:7112)
OperationalError: (20017, '\xc4DB-Lib error message 20017, severity 9:\nUnexpected EOF from the server\nDB-Lib error message 20002, severity 9:\nAdaptive Server connection failed\n')


查阅一些资料也没有解决,特此求大师指点迷津。
...全文
2365 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
圣迪 2013-04-19
  • 打赏
  • 举报
回复
经过测试,wxzynhxh 提供的后面加Charset可以正确连接。。。
华天豪 2013-04-16
  • 打赏
  • 举报
回复
SQL Server Browser 打开该服务
wxzynhxh 2012-12-24
  • 打赏
  • 举报
回复
import pymssql con=pymssql.connect(host='10.116.5.176',user='sa',password='123456',database='MASTER_CNBJ',charset="UTF-8") 改成这个试一下。
a77337788 2012-07-04
  • 打赏
  • 举报
回复
我也遇到这个问题
  • 打赏
  • 举报
回复
这个问题最后也没能解决,是我对python的很多东西还不太了解,随着不断学习,可能某天会知道怎么回事吧。至于功能,通过其他的几种方法均能顺利实现。
再次感谢iambic的不断指导,从中也学到了些其他知识。

结贴!
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 iambic 的回复:]

就是执行你的代码前,设下环境变量,比如命令行里:
set TDSVER=7.0
[/Quote]

悲催了,提示:SyntaxError: invalid syntax

SQL server服务器在远程,并非本机。
iambic 2011-10-10
  • 打赏
  • 举报
回复
就是执行你的代码前,设下环境变量,比如命令行里:
set TDSVER=7.0
  • 打赏
  • 举报
回复
我去查查如何配置。看来这方面对于我来讲有点难
iambic 2011-10-10
  • 打赏
  • 举报
回复
知道你用的是Windows 7。但是我翻了下源代码,windows下好像也用了freetds。你先照着配下环境变量试试。
  • 打赏
  • 举报
回复
看了一下您个的链接,大意就是需要匹配相应的TDS VERSION。可是大部分都是在linux环境下,我现在只有windows环境。还望指教一下。另外www.dailila.com很好用
  • 打赏
  • 举报
回复
我的环境是windows,不是Linux
iambic 2011-10-10
  • 打赏
  • 举报
回复
打不开自己挂个在线代理:http://www.dailila.com/
  • 打赏
  • 举报
回复
跟tds的版本有关?我看看
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 iambic 的回复:]

看下这个:
http://pyyou.wordpress.com/2009/02/01/install-pymssql-and-how-to-deal-with-db-lib-error-message-20009-severity-9/

引用网页内容:
...
So I use an another environnement variable to fix that :

e……
[/Quote]

不好意思,以上网页我打不开。能不能贴个全文
iambic 2011-10-10
  • 打赏
  • 举报
回复
看下这个:
http://pyyou.wordpress.com/2009/02/01/install-pymssql-and-how-to-deal-with-db-lib-error-message-20009-severity-9/

[Quote=引用网页内容:]
...
So I use an another environnement variable to fix that :

export TDSVER=7.0

And miracle , everything work with tsql. So I force version of tds in my ~/.freetds.conf in global section as this

[global]
tds version = 7.0
...
[/Quote]
  • 打赏
  • 举报
回复
求iambic和其他高手指点一下啊。
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 iambic 的回复:]

引用 11 楼 choasrules 的回复:
悲催了,提示:SyntaxError: invalid syntax

SQL server服务器在远程,并非本机。

不要在Python的shell里执行……
在Windows的cmd里执行。执行完之后在同一个cmd窗口里运行你的python脚本。
[/Quote]

按照上述方法运行了一下,错误提示倒是没有了,python IDLE异常关闭。真头疼。
网上的文章真是千篇一律啊。只能再看看西文的了。
iambic 2011-10-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 choasrules 的回复:]
悲催了,提示:SyntaxError: invalid syntax

SQL server服务器在远程,并非本机。
[/Quote]
不要在Python的shell里执行……
在Windows的cmd里执行。执行完之后在同一个cmd窗口里运行你的python脚本。
iambic 2011-10-10
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 choasrules 的回复:]
windows下无法安装freetds。郁闷了。看来要换方法了。ado和pyodbc到是都已经成功了。就是不知道这个为什么要求那么难。
[/Quote]
不需要自己装freetds。pymssql的代码里应该已经包括了。
  • 打赏
  • 举报
回复
windows下无法安装freetds。郁闷了。看来要换方法了。ado和pyodbc到是都已经成功了。就是不知道这个为什么要求那么难。

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧