博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GO语言访问ORACLE
阅读量:6991 次
发布时间:2019-06-27

本文共 2340 字,大约阅读时间需要 7 分钟。

hot3.png

oracle环境见:

一、不翻墙安装golang.org/x/net

cd $GOPATH/src/golang.org/x/git clone https://github.com/golang/net.git

不安装golang.org/x/net后面安装GO的oracle驱动就出错

二、增加/opt/ora11g/instantclient_11_2/lib/pkgconfig/oci8.pc并把对应目录追加到PKG_CONFIG_PATH路径中:

sudo mkdir  /opt/ora11g/instantclient_11_2/lib/pkgconfig sudo vi /opt/ora11g/instantclient_11_2/lib/pkgconfig/oci8.pccat /opt/ora11g/instantclient_11_2/lib/pkgconfig/oci8.pc 
prefix=/opt/ora11g/instantclient_11_2exec_prefix=/opt/ora11g/instantclient_11_2/binlibdir=${prefix}/libincludedir=${prefix}/sdk/include     Name: OCIDescription: Oracle database engineVersion: 11.2Libs: -L${libdir} -lclntshLibs.private: Cflags: -I${includedir}

.bashrc中加上:

export PKG_CONFIG_PATH=$ORACLE_HOME/lib/pkgconfig:$PKG_CONFIG_PATH

即oracle环境变量的设置变为:

export ORACLE_HOME=/opt/ora11g/instantclient_11_2export TNS_ADMIN=$ORACLE_HOME/network/adminexport NLS_LANG='simplified chinese_china'.UTF8export PATH=$ORACLE_HOME/bin:$PATHexport PKG_CONFIG_PATH=$ORACLE_HOME/lib/pkgconfig:$PKG_CONFIG_PATHalias sqlplus='/usr/bin/rlwrap sqlplus'

三、安装go的oracle驱动:

go get github.com/mattn/go-oci8

四、测试代码:

$ cat testora2.go     package mainimport (    "database/sql"    "fmt"     _ "github.com/mattn/go-oci8")func main() {    //修改成自己数据账号及密码    db, err := sql.Open("oci8", "scott/tiger@xe")    checkErr(err)    rows, err := db.Query("select EMPNO,ENAME, JOB,SAL from emp")    checkErr(err)    for rows.Next() {        var EMPNO int        var ENAME string        var JOB string        var SAL float32        err = rows.Scan(&EMPNO, &ENAME, &JOB, &SAL)        checkErr(err)        fmt.Println(EMPNO)        fmt.Println(ENAME)        fmt.Println(JOB)        fmt.Println(SAL)        fmt.Println("--------------")    }    db.Close()}func checkErr(err error) {    if err != nil {        panic(err)    }}

五、运行:

$ go run testora2.go 7369SMITHCLERK800--------------7499ALLENSALESMAN1600--------------7521WARDSALESMAN1250--------------7566JONESMANAGER2975--------------7654MARTINSALESMAN1250--------------7698BLAKEMANAGER2850--------------7782CLARKMANAGER2450--------------7788SCOTTANALYST3000--------------7839KINGPRESIDENT5000--------------7844TURNERSALESMAN1500--------------7876ADAMSCLERK1100--------------7900JAMESCLERK950--------------7902FORDANALYST3000--------------7934MILLERCLERK1300--------------

 

转载于:https://my.oschina.net/u/2245781/blog/1827463

你可能感兴趣的文章
7月第1周国内域名商TOP10:万网DNSPOD差距缩小
查看>>
debian配置sambd
查看>>
整理grep实战文本搜索过滤技巧
查看>>
Samba通过Openldap统一认证
查看>>
我的友情链接
查看>>
阿里云CDN技术掌舵人文景:相爱相杀一路狂奔的这十年
查看>>
运维工程师必备LVS_NAT && LVS_ DR配置
查看>>
Authentication token manipulation error
查看>>
解决了前些天安装ROR环境时候的一个遗留问题
查看>>
vim删除命令
查看>>
Openstack之网络操作篇
查看>>
观察者模式
查看>>
好程序员web前端分享WebSocket协议
查看>>
Cocos2d-x3.2 屏幕适配
查看>>
centos ip配置
查看>>
Python 3.3 print输出的变化
查看>>
Lync开发实例4—组织架构同步
查看>>
Linux bond 网卡绑定配置教程
查看>>
Linux dhcp服务器设置(可复制代码)
查看>>
配置https
查看>>