go連oracle


還可以參考     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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM