无法使用Python连接到MSSQL Server数据库

时间:2015-01-25 01:18:44

标签: python windows sql-server-2008 pymssql

我使用Microsoft SQL Server Management Studio图形界面连接到MSSQL SERVER 2008数据库,如this screenshot

中所述

我想使用python脚本连接到这个数据库。我安装了pymssql,但我无法连接到数据库。我尝试了以下命令:

import _mssql
conn = _mssql.connect(server="POLIVEIRA-PC\\MSSQLSERVER2008", user="POliveira-PC\\POliveira", password="my_password", database="database_name")
带有和不带用户和密码标志的

。我总是最终得到这个错误:

  

追踪(最近一次通话):    文件“”,第1行,in    文件“_mssql.pyx”,第1887行,在_mssql.connect中(_mssql.c:20477)    文件“_mssql.pyx”,第632行,在_mssql.MSSQLConnection中。 init (_ mssql.c:6169)   _mssql.MSSQLDriverException:由于未知原因,与数据库的连接失败。

你能帮我用Python连接这个数据库(或者使用pymssql模块)。我对Python没有经验,也没有SQL经验,所以我想以最简单的方式做到这一点。

我正在运行Windows 7 64位。 Pyhton v2.7.9

2 个答案:

答案 0 :(得分:0)

您需要使用SQL Server身份验证创建登录,然后与此用户联系:

enter image description here

(您需要将此登录信息连接到用户等,但这与登录无关),然后使用

import pymssql
pymssql.connect(host=r"POLIVEIRA-PC\MSSQLSERVER2008", user='logintest', password='secret', database='database_name')

不要直接使用_mssql模块。

答案 1 :(得分:0)

我建议您使用pyodbc,如果您使用anaconda,请使用3.0.10版本的pyodbc,例如:

import pyodbc 
from urllib.parse import quote_plus    
params = quote_plus("DRIVER={SQL Server};SERVER=POLIVEIRA-PC\\MSSQLSERVER2008;DATABASE=dbname;UID=userid;PWD=password")
    try: cnxn = create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)
    except Exception as e:
        raise SystemExit('Error: Conexion Base de Datos SQL %s' % e)

如果问题是这个链接中的远程连接,他们会谈论它

https://blogs.msdn.microsoft.com/walzenbach/2010/04/14/how-to-enable-remote-connections-in-sql-server-2008/

http://akawn.com/blog/2012/01/configuring-sql-server-2008-r2-express-edition-for-remote-access/

希望这有效