2

I'm developing a script that it's supossed to read data from a Microsoft SQL database and display it in a nice format. Also, It's supossed to write into the database as well. The issue is that I'm not able to connect to the server.

I'm using this code:

import pymssql

server = "serverIpAddress"
user = "username"
password =  "pass"
db = "databaseName"

port = 1433
db = pymssql.connect(server,user,password,port= port)

# prepare a cursor object using cursor() method
cursor = db.cursor()

# execute SQL query using execute() method.
cursor.execute("SELECT VERSION()")

# Fetch a single row using fetchone() method.
data = cursor.fetchone()

print "Database version : %s " % data

# disconnect from server
db.close()

And I'm getting this traceback:

Traceback (most recent call last):
  File ".\dbtest.py", line 9, in <module>
    db = pymssql.connect(server,user,password,port= port)
  File "pymssql.pyx", line 641, in pymssql.connect (pymssql.c:10824)
pymssql.OperationalError: (18452, 'Login failed. The login is from an untrusted domain and cannot be used with Windows authentication.DB-Lib error message 20018, severity 14:\nGeneral SQL Server e
rror: Check messages from the SQL Server\nDB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (serverip:1433)\n')

I've changed some data to keep privacy.

This give me some clues about what it's going on:

The login is from an untrusted domain and cannot be used with Windows authentication

But I don't know how to fix it. I've seen that some people uses

integratedSecurity=true

But I don't know if there is something like this on pymssql or even if that it's a good idea.

Also, I don't need to use pymssql at all. If you know any other library that can perform what I need, I don't mind changing it.

Thanks and greetings.

--EDIT--

I've also tested this code:

import pyodbc

server = "serverIpAddress"
user = "username"
password =  "pass"
db = "databaseName"


connectString = "Driver={SQL Server};server="+serverIP+";database="+db+";uid="+user+";pwd="+password
con = pyodbc.connect(connectString)
cur = con.cursor()
cur.close()
con.close()

and I'm getting this traceback:

Traceback (most recent call last):
  File ".\pyodbc_test.py", line 9, in <module>
    con = pyodbc.connect(connectString)
pyodbc.Error: ('28000', "[28000] [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user '.\\sa'. (18456) (SQLDriverConnect); [28000] [Microsoft][ODBC SQL Server Driver][SQL Server]Lo
gin failed for user '.\\sa'. (18456)")
Luis Diaz
  • 322
  • 6
  • 22
  • may be you would want to share `pymssql` verstion ? – Hara Aug 01 '17 at 08:19
  • Possible duplicate of [Adaptive server connection failed (DB-Lib error message 20002, severity 9)](https://stackoverflow.com/questions/40991190/adaptive-server-connection-failed-db-lib-error-message-20002-severity-9) – Hara Aug 01 '17 at 08:20
  • pymssql version is 2.1.3 – Luis Diaz Aug 01 '17 at 08:24
  • As per the link I posted above, i think if you try reverting back to 2.1.1, it may solve, exact error is pointed in the other question also. [link is](https://stackoverflow.com/questions/40991190/adaptive-server-connection-failed-db-lib-error-message-20002-severity-9). – Hara Aug 01 '17 at 08:29
  • @Haranadh I'd already tested the steps on that post and it doesn't work for me. – Luis Diaz Aug 01 '17 at 08:30

0 Answers0