sqlalchemy, mô-đun kết nối db cho Python, sử dụng Xác thực SQL (tài khoản người dùng do cơ sở dữ liệu xác định) theo mặc định. Nếu bạn muốn sử dụng thông tin đăng nhập Windows (tên miền hoặc cục bộ) của bạn để xác thực với SQL Server, chuỗi kết nối phải được thay đổi.Làm cách nào để kết nối với SQL Server qua sqlalchemy bằng Xác thực Windows?
Theo mặc định, theo quy định của SQLAlchemy, chuỗi kết nối để kết nối với SQL Server là như sau:
sqlalchemy.create_engine('mssql://*username*:*password*@*server_name*/*database_name*')
này, nếu được sử dụng bằng các thông tin Windows của bạn, sẽ ném ra một lỗi tương tự như sau:
sqlalchemy.exc.DBAPIError: (Error) ('28000', "[28000] [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for us
er '***S\\username'. (18456) (SQLDriverConnect); [28000] [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for us
er '***S\\username'. (18456)") None None
Trong thông báo lỗi này, mã 18456 xác định thông báo lỗi được gửi bởi chính Máy chủ SQL. Lỗi này biểu thị rằng thông tin đăng nhập không chính xác.
Các chuỗi kết nối ở trên có thể hữu ích nếu chúng ta đang chạy tập lệnh từ máy chúng tôi đã đăng nhập bằng thông tin đăng nhập Windows. nếu tôi cần chạy tập lệnh từ một số máy chủ khác thì sao? –