oracle之无法使用Oracle db在Golang中构建应用

grandyang 阅读:64 2025-06-02 22:19:02 评论:0

我是go lang开发的初学者,我尝试从go服务器(使用'github.com/godror/godror'包)连接云oracle DB。
我安装了Oracle Instant Client并还设置了环境路径。

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/abc@13.43.11.8: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
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号