Need help with go-oci8?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

mattn
510 Stars 194 Forks MIT License 524 Commits 6 Opened issues

Description

Oracle driver for Go using database/sql

Services available

!
?

Need anything else?

Contributors list

go-oci8

GoDoc Reference Build Status Go Report Card

Description

Golang Oracle database driver conforming to the Go database/sql interface

Installation

Install Oracle full client or Instant Client:

https://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html

Install a C/C++ compiler

Install pkg-config, edit your package config file oci8.pc (examples below), then set environment variable PKGCONFIGPATH to oci8.pc file location (Or can use Go tag noPkgConfig then setup environment variables CGOCFLAGS and CGOLDFLAGS)

Go get with Go version 1.9 or higher

go get github.com/mattn/go-oci8

Try the simple select example:

https://godoc.org/github.com/mattn/go-oci8#example-package--SqlSelect

If you have a build error it is normaly because of a misconfiguration, make sure to search close issues for help

oci8.pc Examples

Windows

prefix=/devel/target/XXXXXXXXXXXXXXXXXXXXXXXXXX
exec_prefix=${prefix}
libdir=C:/app/instantclient_12_2/sdk/oci/lib/msvc
includedir=C:/app/instantclient_12_2/sdk/include

glib_genmarshal=glib-genmarshal gobject_query=gobject-query glib_mkenums=glib-mkenums

Name: oci8 Description: oci8 library Libs: -L${libdir} -loci Cflags: -I${includedir} Version: 12.2

Linux

prefix=/devel/target/XXXXXXXXXXXXXXXXXXXXXXXXXX
exec_prefix=${prefix}
libdir=/usr/lib/oracle/12.2/client64/lib
includedir=/usr/include/oracle/12.2/client64

glib_genmarshal=glib-genmarshal gobject_query=gobject-query glib_mkenums=glib-mkenums

Name: oci8 Description: oci8 library Libs: -L${libdir} -lclntsh Cflags: -I${includedir} Version: 12.2

MacOs

Please install

pkg-config
with
brew
if not already present. Download the instant client and the sdk and unpack it e.g. in your
Downloads
folder and create therein a file names
oci8.pc
. Please replace
 with your actual username.
prefixdir=/Users//Downloads/instantclient_12_2/
libdir=${prefixdir}
includedir=${prefixdir}/sdk/include

Name: OCI Description: Oracle database driver Version: 12.2 Libs: -L${libdir} -lclntsh Cflags: -I${includedir}

You also have to set these environment variables (e.g. permanently by adding them to your

.bashrc
)
export LD_LIBRARY_PATH=/Users//Downloads/instantclient_12_2
export PKG_CONFIG_PATH=/Users//Downloads/instantclient_12_2

SQL Examples

SQL examples can be found in the GoDoc reference:

https://godoc.org/github.com/mattn/go-oci8

And in _example:

https://github.com/mattn/go-oci8/tree/master/_example

Author

Yasuhiro Matsumoto (a.k.a mattn)

Special Thanks

Jamil Djadala

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.