golang 裡面使用oracle驅動包訪問oracle DB

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1.首先在github上面下載包檔案https://github.com/tgulacsi/goracle

2.設定的編譯環境不設定編譯環境,不然go build 會出現:# github.com/tgulacsi/goracle/oraclesrc/github.com/tgulacsi/goracle/oracle/connection.go:23:17:error: oci.h: No such file or directorysrc/github.com/tgulacsi/goracle/oracle/connection.go:25:16:error: xa.h: No such file or directory
他給出的編譯環境指令碼,但是看起來比較複雜,其實就兩句話,設定好2個cgo的flag就可以了。exportCGO_CFLAGS=-I/opt/oracle/product/OraHome/rdbms/publicexport CGO_LDFLAGS=-L/opt/oracle/product/OraHome/lib

3.運行你的程式:
啟動並執行時候還是要報錯:$ $ goprom xxxx xxxxxgoprom : error while loading sharedlibraries: libclntsh.so.11.1: cannot open shared object file: Nosuch file or directory
這個時候看oracle使用者的env,把動態庫的變數加進去:LD_LIBRARY_PATH=/opt/oracle/product/OraHome/lib:/lib:/usr/lib:/usr/local/lib
4.串連資料庫.但是運行時候串連oracle是時候會報錯:I1225 23:23:06 11474 runMySQLsql.go:74] Connectusing:oraadm/passw0rd@gooradb :@Unable to acquire Oracleenvironment handle -1073741818: other
切換到oracle運行就可以了。 但是把oracle使用者的環境變數都加入到你的使用者當中還是不行。
吐槽一下,我怎麼覺得oracle的安裝配置比db2難拿。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.