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難拿。