Connecting from a Windows machine:
With Microsoft’s ODBC drivers for SQL Server, Trusted_connection=yes
tells the driver to use “Windows Authentication” and your script will attempt to log in to the SQL Server using the Windows credentials of the user running the script. UID
and PWD
cannot be used to supply alternative Windows credentials in the connection string, so if you need to connect as some other Windows user you will need to use Windows’ RUNAS command to run the Python script as that other user..
If you want to use “SQL Server Authentication” with a specific SQL Server login specified by UID
and PWD
then use Trusted_connection=no
.
Connecting from a non-Windows machine:
If you need to connect from a non-Windows machine and the SQL Server is configured to only use “Windows authentication” then Microsoft’s ODBC drivers for SQL Server will require you to use Kerberos. Alternatively, you can use FreeTDS ODBC, specifying UID
, PWD
, and DOMAIN
in the connection string, provided that the SQL Server instance is configured to support the older NTLM authentication protocol.