PYmssql python连接字符串

2024-04-29 02:40:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我已下载Pymssql以连接到sqlserver数据库,但连接字符串正在引发错误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')

Tags: 字符串inimport数据库hostconnect错误line
3条回答

你必须声明字符集 样品:

pymssql.connect(host='username\SQLEXPRESS',user='username',password='pwd',database='master',chartset="your_charset")

我遇到了同样的Net-Lib error during Unknown error错误消息。对我来说,问题是我需要在我的SQL Server Express实例中启用TCP/IP和命名管道。

尝试进入SQL Server配置管理器并同时打开TCP/IP和命名管道。

我的设置:

  • Microsoft Windows XP SP3。
  • Microsoft SQL Server 2008(不是R2)。
  • CPython公司2.7.4。
  • pymssql 2.0.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位机(PymSQL 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

我忘了从哪里选择该文件的配置示例。

希望能有所帮助。

相关问题 更多 >