我遇到了一個(gè)似乎無法解決的問題,可能是因?yàn)槲覍?duì) GO 缺乏經(jīng)驗(yàn)。我有以下代碼在一臺(tái)服務(wù)器上工作,但不在另一臺(tái)服務(wù)器上。這是代碼:// Build out the connection string to the database, and then open the connection to the database.connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d", *server, *user, *password, *port)if *debug { fmt.Printf(" connString:%s\n", connString) }db, err = sql.Open("mssql", connString)if err != nil { log.Fatal("Open connection failed:", err.Error()) }err = db.Ping()if err != nil { fmt.Println("Cannot connect: ", err.Error()) return}rows, _ := db.Query( "SELECT Zip FROM Zip_Rural WHERE Zip = ?", ZipCode[0:5] )defer rows.Close()if !rows.Next() { acreageRequirement = .5}在讀取的行上,if !rows.Next()我收到以下錯(cuò)誤:panic: runtime error: invalid memory address or nil pointer dereferencepanic: runtime error: invalid memory address or nil pointer dereference [signal 0xc0000005 code=0x0 addr=0x20 pc=0x477918]同樣的代碼在另一臺(tái)服務(wù)器上運(yùn)行得很好,在兩臺(tái)機(jī)器上運(yùn)行 GO 1.4.2 版。我有一種感覺,我只是在這里某處有一些不好的語法,但不知道真正的問題是什么。db.Exec在同一個(gè)文件中調(diào)用工作正常,這讓我相信我的數(shù)據(jù)庫連接非常好,但由于某種原因db.Query沒有正確執(zhí)行。
go-mssql 出現(xiàn)“無效內(nèi)存地址”錯(cuò)誤
繁星點(diǎn)點(diǎn)滴滴
2021-10-18 11:09:32