Search code examples
pythonsql-serverpy2exepyodbc

Failed to Login as 'Domain\ComputerName' pyodbc with py2exe


Ok so I have a script that connects to a mssql db and i need to run as a service which I have already accomplished but when I run it as a service it overrides my credentials that I have put in when i connect to the db with the ad computer account.

It runs perfect when i run it on its own and not as a service.

My Connection String is:

'DRIVER={SQL Server};SERVER=MyServer;DATABASE=MyDB;UID=DOMAIN\myusername;PWD=A;Trusted_Connection=True'

The Error is:

Error: ('28000', "[28000] [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'DOMAIN\COMPUTERNAME')

Any Advice?


Solution

  • The following connection string will use Windows authentication, using the account running the service to authenticate with the database. Change the service account to one that has database access:

    'DRIVER={SQL Server};SERVER=SERVERNAME;DATABASE=DBName;Trusted_Connection=yes'

    To change service account:

    • Start -> Run -> services.msc
    • Right-click service -> Properties
    • Log On tab
    • OK/Apply to save changes

    Screenshot of window to change service account