Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

pymssql: How to use windows authentication when running on a non-windows box

Is there a way for python to connect to MS SQL Server using Windows Authentication, even when not running the python app on a windows box?

I'm trying to do this with pymssql, but the examples mostly seem to assume that you're running on windows.

If there is a way to make this connection using some other library, please feel free to suggest, but I do like how pymssql is simple to install and deploy via pip.

I want to connect to 2005/2008 databases, and I'm running Ubuntu 13.04 (but I can upgrade to a later Ubuntu if it makes a difference)

SOLUTION:

It turns out that pymssql can connect to my database via my windows username and password. But to do so, I need to pass the actual username/password like this:

pymssql.connect(host, 'THEDOMAIN\\theusername', 'thepassword', db)

The solution EkoostikMartin provided is still good though (if you do not want to store a password somewhere, which is probably the point to windows auth anyway)

like image 792
Dan Avatar asked Jan 23 '14 15:01

Dan


1 Answers

You can use the SQL Server ODBC driver for linux, and set up Kerberos.

See this article - http://technet.microsoft.com/en-us/library/hh568450.aspx

like image 68
EkoostikMartin Avatar answered Oct 24 '22 02:10

EkoostikMartin