亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang 連接到 SQL Server 錯誤 - “TLS 握手失?。簾o法讀取握手數據包:

Golang 連接到 SQL Server 錯誤 - “TLS 握手失?。簾o法讀取握手數據包:

Go
九州編程 2023-07-10 15:01:06
我編寫了一個系統,該系統可以自動執行在 Microsoft Azure 上部署 VM 的過程,在其上安裝 Sql Server,然后.sql針對新安裝的服務器執行腳本以初始化環境。周五,這一切都按預期進行。今天,我收到此錯誤。我的代碼有以下相關導入:import(    "database/sql"    _ "github.com/denisenkom/go-mssqldb")并在安裝后使用以下代碼實際連接到數據庫(為簡潔起見,刪除了錯誤處理):// variablesconnectionString := "sqlserver://MasterUser:[email protected]:1433"dbName := "mssql"// open database / get metadata sorteddb, err := sql.Open(dbname, connectionString)defer db.Close()//Check to see if the connection is successful. err = db.Ping()                                         // <--------// file inputfileBytes, err := ioutil.ReadFile("../sql/" + dbsql)fileReader := bytes.NewReader(fileBytes)// parse line-by-linescanner := bufio.NewScanner(fileReader)lineNo := 0for scanner.Scan() {    toExec := scanner.Text()    lineNo += 1    _, err = db.Exec(toExec)                           // <--------}該錯誤發生在兩個db.Ping()和每個 上db.Exec()。在這些情況下,關聯的消息err是TLS Handshake failed: Cannot read handshake packet: EOF這可能是相關的,但我不知道如何。造成這種情況的原因是什么?如何解決?錯誤是在我的代碼中、在我創建的充當服務器的虛擬機上還是在兩者之間?我該如何最好地解決這個問題?
查看完整描述

1 回答

?
翻翻過去那場雪

TA貢獻2065條經驗 獲得超14個贊

我最終解決了這個問題,但沒有找出根本原因。當我嘗試通過 SSH 連接到虛擬機并在本地訪問數據庫時,我遇到了以下錯誤:

Sqlcmd:?Error:?Microsoft?ODBC?Driver?17?for?SQL?Server?:?TCP?Provider:?Error?code?0x2746.
Sqlcmd:?Error:?Microsoft?ODBC?Driver?17?for?SQL?Server?:?Client?unable?to?establish?connection.

它看起來是一個版本控制問題 - 在我的安裝腳本中,我替換了

sudo?apt-get?-y?install?mssql-server

sudo?apt-get?-y?install?mssql-server=14.0.3192.2-2

然后問題就消失了。


查看完整回答
反對 回復 2023-07-10
  • 1 回答
  • 0 關注
  • 422 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號