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),则需要指定该文件中必须包含在构建中的所有文件。
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。



