首頁 > 後端開發 > Golang > 為什麼我的Go程式無法連線到SQL Server?

為什麼我的Go程式無法連線到SQL Server?

Linda Hamilton
發布: 2024-11-24 13:19:13
原創
440 人瀏覽過

Why Can't My Go Program Connect to SQL Server?

Go 使用SQL Server:無法成功連線

問題:

問題:
login failed for user 'sakhaloo'
登入後複製

使用Go 時用SQL Server驅動連線資料庫,訊息發生:
Error:233: 
A connection was successfully established with the server, but then an
error occurred during the login process. (provider: Shared Memory
Provider, error: 0-no process is on the other end of the
pipe.)(Microsoft SQL Server,)
登入後複製

此外,嘗試使用SQL Server Management Studio 開啟資料庫失敗並出現錯誤:

原因:

  • 此問題源自於多種因素:
  • SQL Server 執行個體不是正確配置TCP 連線。
  • Go 程式正在嘗試使用 Windows 驗證,但未指定網域或使用者。

SQL Server 使用者沒有必要的權限。

    解決方案:
設定SQL Server 的TCP 連線:
  • 設定SQL Server 的TCP 連線:
    開啟SQL Server 設定管理員。
  • 展開網路設定 > MSSQLSERVER 的協定。
  • 啟用 TCP/IP。
    重新啟動 SQL Server 服務。
建立具有權限的SQL Server 使用者:
  • 使用SQL Management Studio 建立具有必要權限的SQL用戶。
  • 確保使用者有足夠的權限來建立和修改資料庫。

指定Go 程式中的SQL Server 使用者:
  • Go 程式中,指定連線字串中的SQL Server 使用者名稱和密碼。

    condb, errdb := sql.Open("mssql", "server=servernameorip;user>
    登入後複製
    如果需要Windows 驗證,請將使用者名稱和密碼留空,
確保SQL Server 執行個體配置為Kerberos 驗證.受信任Windows 的更新解決方案驗證:在Windows上,如果使用者 ID 為空或缺失,則使用單一登入(可信任連線)。 要使用可信任Windows 驗證,請在 Go 程式中確保以下內容:

以上是為什麼我的Go程式無法連線到SQL Server?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板