登录
首页 >  Golang >  Go问答

无法使用 oracle db 在 golang 中构建应用程序

来源:stackoverflow

时间:2024-04-16 22:00:30 180浏览 收藏

欢迎各位小伙伴来到golang学习网,相聚于此都是缘哈哈哈!今天我给大家带来《无法使用 oracle db 在 golang 中构建应用程序》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!

问题内容

我是 go lang 开发的初学者,我尝试从 go 服务器连接云 oracle db(使用“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 main
import (
    "database/sql"
    "encoding/json"
    "fmt"
    "log"
    "net/http"
    "time"


_ "github.com/godror/godror"
)


//  VersionInfo,ObjectType,Event,SubscriptionOption,Subscription,StartupMode,ShutdownMode
var db *sql.DB

func 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())
    }
}

解决方案


运行 env GOOS=linux GOARCH=amd64 go build -o odb 并且不指定任何文件。如果您确实指定了一个,例如 db_main.go,那么您需要指定必须包含在构建中的包中的所有文件。

本篇关于《无法使用 oracle db 在 golang 中构建应用程序》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>