我已经下载了Pymssql以连接到sqlserver db,但连接字符串正在抛出error-pymssql.connect(pymssql.c.:7990)
import pymssql
pymssql.connect(host='username\SQLEXPRESS',user='username',password='pwd',database='master')
任何人都有幸连接到sqlserver吗?
Error:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "pymssql.pyx", line 556, in pymssql.connect (pymssql.c:7990)
raise OperationalError(e[0])
pymssql.OperationalError: (20009, 'Net-Lib error during Unknown error')
答案 0 :(得分:2)
我遇到了同样的Net-Lib error during Unknown error
错误消息。对我来说,问题是我需要在我的SQL Server Express实例中启用TCP / IP和命名管道。
尝试进入SQL Server配置管理器并打开TCP / IP和命名管道。
答案 1 :(得分:0)
我的设置:
easy_install
一起安装,IIRC)。我忘了创建一个sa
登录帐户,所以我记得在几个星期前为了创建它而捡拾一个帐户;以前,我使用Windows身份验证登录(例如使用SQL Server Management Studio)。我按照https://stackoverflow.com/a/3781737创建了sa
用户帐户。
在中间步骤之后,我开始使用Python。
import pymssql
conn = pymssql.connect(host=r'MACHINE\SQLEXPRESS', user=r'sa', password=r'password', database=r'MYDB')
cur = conn.cursor()
cur.execute(r'SELECT COUNT(*) FROM mytable')
row = cur.fetchone()
print row[0]
cur.close()
conn.close()
我对你的问题的猜测是你应该在连接参数中使用 raw 字符串 - 尤其是host
参数,它会带有反斜杠。
我还尝试使用CentOS 5.8 64位机器(pymssql 1.0.2,freetds 0.91)。为此,我还创建了一个内容为
的$HOME/.freetds.conf
文件
[global]
tds version = 10.0
[MACHINE]
host = 192.168.1.2
port =1433
tds version = 10.0
encryption = request
我忘记了从。
中选择该文件的配置示例的位置希望有所帮助。
答案 2 :(得分:-2)
你必须声明charset 样本:
pymssql.connect(host='username\SQLEXPRESS',user='username',password='pwd',database='master',chartset="your_charset")