Go 使用SQL Server 驅動程式無法成功連線:登入失敗
將Go 與Microsoft SQL Server 驅動程式一起使用可能會帶來挑戰。以下是該問題及其解決步驟的概述:
問題:
使用go-mssqldb 驅動程式執行db.ping() 時,您會遇到錯誤“用戶“sakhaloo”登入失敗”。同時,使用SQL Server Management Studio 使用給定的使用者名稱和密碼開啟資料庫失敗,導致錯誤「連線已成功建立...但登入時發生錯誤。」
解決方案步驟:
-
確保正確安裝驅動程式:下載並解壓縮go-mssqldb從其GitHub儲存庫取得驅動程式包,確保檔案放置在指定目錄 (C:Gosrcgithub.comdenisenkomgo-mssqldb) 中。
-
檢查 SQL Server 使用者和權限: 驗證使用者「sakhaloo」作為 SQL Server 使用者存在,對目標資料庫具有適當的權限。確保透過角色或明確權限授予使用者存取資料庫的權限。
-
啟用 TCP/IP 連線: 檢查是否為 SQL Server 協定啟用了 TCP/IP。導覽至 SQL Server 設定管理器,找到 MSSQLSERVER 的協議,並確保啟用 TCP/IP。進行這些變更後重新啟動 SQL Server 服務。
-
停用 SSL 加密: 對於 SQL Server 2008 和 2008 R2,停用 SSL 加密,因為它可能會幹擾登入。安裝 github 儲存庫文件中提到的 Service Pack 和累積更新。
-
查看 SQL Server 日誌: 檢查 ERRORLOG 檔案中的 SQL Server 日誌是否有任何提示登入的錯誤訊息問題。尋找是否提及身份驗證失敗或封鎖 SQL Server 驗證的伺服器設定。
-
授予 SQL Server 使用者權限:使用 SQL Server Management Studio 向建立的 SQL Server 使用者授予必要的權限用於連接到資料庫並執行所需的操作。
透過執行下列步驟,您可以解決 go-mssqldb 驅動程式遇到的登入問題並成功連線到和存取 SQL Server 資料庫。
以上是為什麼我的 Go 應用程式無法連接到 SQL Server,並出現錯誤「使用者登入失敗」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!