婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > Go語(yǔ)言連接Oracle數(shù)據(jù)庫(kù)的方法

Go語(yǔ)言連接Oracle數(shù)據(jù)庫(kù)的方法

熱門標(biāo)簽:仙桃400電話辦理 宿遷便宜外呼系統(tǒng)代理商 湛江crm外呼系統(tǒng)排名 鄭州智能語(yǔ)音電銷機(jī)器人價(jià)格 重慶慶云企業(yè)400電話到哪申請(qǐng) 地圖標(biāo)注免費(fèi)定制店 寧波語(yǔ)音外呼系統(tǒng)公司 不封卡外呼系統(tǒng) 上海極信防封電銷卡價(jià)格

首先交代一下運(yùn)行環(huán)境和工具版本:

WIN10

MINGW64

ORACLEINSTANCCLIENT_18_3 x64

Jetbrins Goland

編譯階段:
1. exec: "gcc": executable file not found in %PATH%

2. exec: "pkg-config": executable file not found in %PATH%

3. cannot use (**_Ctype_struct_OCIServer)(unsafe.Pointer(conn.svc))

(type **_Ctype_struct_OCIServer) as type **_Ctype_struct_OCISvcCtx

in argument to func literal

運(yùn)行階段:

1. Process finished with exit code -1073741701 (0xC000007B)

2. exit status 3221225595

開始

一、下載ORACLEINSTANCCLIENT 和對(duì)應(yīng)的SDK

下載地址:https://www.oracle.com/technetwork/topics/winx64soft-089540.html

我選用了18.3 x64的版本,能向下兼容,不用擔(dān)心

注意basic版本和sdk都需要下載下來(lái),一共是兩個(gè)文件

下載之后先解壓basic壓縮包,然后將sdk解壓到basic目錄下:

添加如下環(huán)境變量到系統(tǒng)PATH變量:(按自己的情況添加)

二、下載安裝MINGW64

主要是解決WIN中沒(méi)有GCC的問(wèn)題

如果不安裝后期會(huì)出現(xiàn)問(wèn)題:(exec: "gcc":executable file not foundin %PATH%)

因?yàn)橹跋螺d的ORACLEINSTANCCLIENT是64位的所以我們也需要下載MINGW64才能編譯

下載地址:https://sourceforge.net/projects/mingw-w64/files/

注意,第一個(gè)是在線安裝程序,較慢,建議直接下載7z壓縮包。解壓即可

解壓之后,添加如下環(huán)境變量到PATH:(按自己的情況添加)

三、獲取GO-OCI8驅(qū)動(dòng)

執(zhí)行命令:go get github.com/wendal/go-oci8

會(huì)報(bào)一個(gè)錯(cuò)誤:pkg-config: exec: "pkg-config": executable file not found in %PATH%

先忽略,后面會(huì)解決

四、修改OCI8.PC

進(jìn)入GOPATH目錄,找到OCI8.PC文件,打開,修改 紅色框的部分(按你自己的情況)

%GoPath%\src\github.com\wendal\go-oci8\windows

然后:

1.復(fù)制此目錄下pkg-config.exe到mingw64下的bin目錄

2.復(fù)制此目錄下oci8.pc到mingw64下的lib/pkg-config目錄(pkg-config目錄需要自己建)

添加如下(PKG_CONFIG_PATH)環(huán)境變量:(按自己情況)

五、最后一步

執(zhí)行命令:go get github.com/wendal/go-oci8

此時(shí)執(zhí)行這個(gè)操作

應(yīng)該已經(jīng)沒(méi)有(pkg-config: exec: "pkg-config": executable file not found in %PATH%)這個(gè)錯(cuò)誤了,如果還有,就是上一步你做的不太對(duì)。

但是,還會(huì)有新的錯(cuò)誤出現(xiàn),如下:

不要慌

打開GOPATH目錄下,oci8.go文件

路徑:%GoPath%\src\github.com\wendal\go-oci8

此文件中四處OCIServer為OCISvcCtx

再次?。。?!

執(zhí)行命令:go get github.com/wendal/go-oci8

可以了,完事兒。

讓我們上一段代碼,測(cè)試一下:

package main

import (
  "database/sql"
  "fmt"
  "log"
  "os"

  _ "github.com/wendal/go-oci8"
)

func query() {
  os.Setenv("NLS_LANG", "AMERICAN_AMERICA.AL32UTF8")
  log.SetFlags(log.Lshortfile | log.LstdFlags)
  db, err := sql.Open("oci8", "j1_bibox/oracle123@10.1.196.200:1521/zjdevdb")
  if err != nil {
    log.Fatal(err)
  }
  defer db.Close()
  rows, err := db.Query("select * from v$version")
  if err != nil {
    log.Fatal(err)
  }
  cols, _ := rows.Columns()
  rawResult := make([][]byte, len(cols))
  result := make([]string, len(cols))
  dest := make([]interface{}, len(cols))
  for i := range rawResult {
    dest[i] = rawResult[i]
  }
  for rows.Next() {
    err = rows.Scan(dest...)
    for i, raw := range rawResult {
      if raw == nil {
        result[i] = ""
      } else {
        result[i] = string(raw)
      }
    }
    fmt.Printf("%s\n", result[0])
  }
  rows.Close()
}

func main() {
  query()
}

走你

就是這么刺激,還是錯(cuò)?。。。??????

現(xiàn)在不要慌,冷靜一點(diǎn),分析情況

首先,如果你的代碼在IDE中運(yùn)行,會(huì)報(bào)錯(cuò)如下:

如果你不信這個(gè)邪,在cmd中運(yùn)行,會(huì)報(bào)錯(cuò)如下:

以管理員模式運(yùn)行

IDE中也可以這樣解決問(wèn)題:

轉(zhuǎn)載:https://www.cnblogs.com/jiangyuqin/p/10135963.html

到此這篇關(guān)于Go語(yǔ)言連接Oracle數(shù)據(jù)庫(kù)的方法的文章就介紹到這了,更多相關(guān)Go語(yǔ)言連接Oracle內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 基于django2.2連oracle11g解決版本沖突的問(wèn)題
  • django連接oracle時(shí)setting 配置方法
  • Oracle GoldenGate同步服務(wù)歸檔空間維護(hù)【推薦】

標(biāo)簽:儋州 物業(yè)服務(wù) 西雙版納 電子產(chǎn)品 安康 海南 遼寧 青海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Go語(yǔ)言連接Oracle數(shù)據(jù)庫(kù)的方法》,本文關(guān)鍵詞  語(yǔ)言,連接,Oracle,數(shù)據(jù)庫(kù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Go語(yǔ)言連接Oracle數(shù)據(jù)庫(kù)的方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Go語(yǔ)言連接Oracle數(shù)據(jù)庫(kù)的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 安义县| 扬中市| 政和县| 潼南县| 信宜市| 遵化市| 广平县| 宁陕县| 乐都县| 长葛市| 汤原县| 教育| 蓬溪县| 长岭县| 南乐县| 长汀县| 徐闻县| 剑河县| 临桂县| 井陉县| 新乐市| 内乡县| 寿光市| 连城县| 深泽县| 佛冈县| 上饶市| 紫阳县| 库车县| 增城市| 山丹县| 枝江市| 孟连| 遂溪县| 河东区| 德兴市| 凤台县| 海盐县| 武城县| 介休市| 淮南市|