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

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

無法使用 oracle db 在 golang 中構建應用程序

無法使用 oracle db 在 golang 中構建應用程序

Go
呼喚遠方 2022-05-23 16:29:02
我是 go lang 開發的初學者,我嘗試從 go 服務器連接云 oracle 數據庫(使用 'github.com/godror/godror' 包)。我安裝了 Oracle 即時客戶端并設置了環境路徑。Go 服務器正在運行并且能夠建立連接和查詢。但是當我構建一個生產應用程序時出現了這些錯誤。命令:env GOOS=linux GOARCH=amd64 go build -o odb db_main.go../github.com/godror/godror/orahlp.go:452:53: undefined: VersionInfo../github.com/godror/godror/orahlp.go:461:53: undefined: VersionInfo../github.com/godror/godror/orahlp.go:479:19: undefined: VersionInfo../github.com/godror/godror/orahlp.go:480:19: undefined: VersionInfo../github.com/godror/godror/orahlp.go:481:30: undefined: ObjectType../github.com/godror/godror/orahlp.go:482:31: undefined: Event../github.com/godror/godror/orahlp.go:482:42: undefined: SubscriptionOption../github.com/godror/godror/orahlp.go:482:64: undefined: Subscription../github.com/godror/godror/orahlp.go:483:10: undefined: StartupMode../github.com/godror/godror/orahlp.go:484:11: undefined: ShutdownMode../github.com/godror/godror/orahlp.go:484:11: too many errors```My server code(db_main.go)```package mainimport (    "database/sql"    "encoding/json"    "fmt"    "log"    "net/http"    "time"_ "github.com/godror/godror")//  VersionInfo,ObjectType,Event,SubscriptionOption,Subscription,StartupMode,ShutdownModevar db *sql.DBfunc main() {    var err error    db, err = sql.Open("godror", "xyz/[email protected]:1521/sampledb")    if err != nil {        log.Println("Error")        fmt.Println(err)        return    }    defer db.Close()    port := ":8000"    http.HandleFunc("/insert", InsertData)    http.HandleFunc("/list", GetList)    log.Println("Tranzo-Shahi Oracle DB running in ", port)    httpErr := http.ListenAndServe(port, nil)    if httpErr != nil {        log.Println("Tranzo-Shahi Oracle DB Error: ", httpErr.Error())    }}
查看完整描述

2 回答

?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

不幸的是,原始問題沒有提到構建運行的位置。知道這一點很重要。

當您嘗試交叉編譯代碼時,godror文檔指出了可能出現的問題。在他們的文檔中:Cgo is required, so cross-compilation is hard, and you cannot set CGO_ENABLED=0!

我建議在 Linux 機器上運行你的構建。(驗證它是否安裝了gcc。)

運行您的構建env CGO_ENABLED=1 go build -o odb


查看完整回答
反對 回復 2022-05-23
?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

運行env GOOS=linux GOARCH=amd64 go build -o odb并且不指定任何文件。如果您確實指定了一個,db_main.go那么您需要指定必須包含在構建中的包中的所有文件。



查看完整回答
反對 回復 2022-05-23
  • 2 回答
  • 0 關注
  • 323 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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