POliveira
POliveira

Reputation: 196

Unable to connect to MSSQL Server database using Python

I've been connecting to a MSSQL SERVER 2008 database using Microsoft SQL Server Management Studio graphic interface, as depicted in this screenshot

I would like to connect to this database using a python script. I installed pymssql and I've failed to connect to the database. I tried the following command:

import _mssql
conn = _mssql.connect(server="POLIVEIRA-PC\\MSSQLSERVER2008", user="POliveira-PC\\POliveira", password="my_password", database="database_name")

with and without the user and password flags. I always end up with this error:

Traceback (most recent call last): File "", line 1, in File "_mssql.pyx", line 1887, in _mssql.connect (_mssql.c:20477) File "_mssql.pyx", line 632, in _mssql.MSSQLConnection.init (_mssql.c:6169) _mssql.MSSQLDriverException: Connection to the database failed for an unknown reason.

Can you help me connect to this database using Python (either using pymssql module or not). I'm not experienced with Python, nor do I with SQL, therefore I would like to do it in the simplest manner possible.

I'm running Windows 7 64 bit. Pyhton v2.7.9

Upvotes: 3

Views: 7482

Answers (2)

Camilo Velasquez
Camilo Velasquez

Reputation: 163

I recommend you to use pyodbc, if you're using anaconda, use the 3.0.10 version of pyodbc, example:

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)

And if the problem is a remote connection in this links they talk about it

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/

Hope this works

Upvotes: 1

thebjorn
thebjorn

Reputation: 27311

You need to create a login with SQL Server authentication and then connect with this user:

enter image description here

(you'll need to connect this login to a user etc., but that's unrelated to logging in), then use

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

don't use the _mssql module directly.

Upvotes: 0

Related Questions