還可以參考 https://github.com/wendal/go-oci8
一、下載oci
ORACLE調用接口(Oracle Call Interface簡稱OCI)
https://www.oracle.com/database/technologies/instant-client/downloads.html
Oracle Instant Client(即時客戶端)比 Oracle DataBase Cilent更加輕量級
下載 basic和sdk
特別慢
壓縮后 把sdk放到base包下
添加環境變量
D:\Program Files\instantclient_19_6
二、下載MinGW
編譯器
1.離線下載
https://sourceforge.net/projects/mingw-w64/files/
2.配置環境變量
path D:\mingw-w64\mingw64\bin
三、下載go-oci8
Oracle 數據庫的 Go 語言驅動包
1.go get github.com/wendal/go-oci8 會報錯 ///
注意:最后把wendal換成了mattn不知道為什么wendal沒成功
2.進入路徑 F:\gopro\src\github.com\wendal\go-oci8\windows
找到oci8.pc 修改為 (路徑不能有空格,斜杠是反的)
3.復制此目錄下pkg-config.exe到mingw64下的bin目錄
4.復制此目錄下oci8.pc到mingw64下的lib/pkg-config目錄(pkg-config目錄需要自己建)
5.
四、測試
import ( "database/sql" "fmt" _ "github.com/mattn/go-oci8" ) func main() { // 設置連接數據庫的參數 db, _ := sql.Open("oci8", "xx:xx@ip/orcl") //獲取所有數據 rows, _ := db.Query("select CODE,NAME from xx") var CODE, NAME string //循環顯示所有的數據 for rows.Next() { rows.Scan(&CODE, &NAME) fmt.Println(CODE, "--", NAME) } //關閉數據庫 defer db.Close() //連接數據庫 err := db.Ping() if err != nil { fmt.Println("數據庫連接失敗") return } fmt.Println("hello") }
如果說明oci8.pc沒找到 D:\Program Files\instantclient_19_6的oic
查看路徑
pkg-config --cflags --libs oci8