Golang Oracle Database Driver

Oracle DB 的 Go 语言驱动包
授权协议 MIT
开发语言 Google Go
所属分类 数据库相关、 数据库驱动程序
软件类型 开源软件
地区 不详
投 递 者 萧晓博
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

这是一个第三方的 Oracle 数据库的 Go 语言客户端驱动包。

示例代码:

import (
    "database/sql"

    _ "gopkg.in/rana/ora.v3"
)

func main() {
    db, err := sql.Open("ora", "user/passw@host:port/sid")
    defer db.Close()
}
package main

import (
    "gopkg.in/rana/ora.v3"
    "log"
)

func main() {
    env, srv, ses, err := ora.NewEnvSrvSes("user/passw@host:port/sid", nil)
    if err != nil {
        log.Fatal(err)
    }
    defer env.Close()
    defer srv.Close()
    defer ses.Close()

    var user string
    if _, err = ses.PrepAndExe("BEGIN :1 := SYS_CONTEXT('USERENV', :2); END;", &user, "SESSION_USER"); err != nil {
        log.Fatal(err)
    }
    log.Printf("user: %q", user)
}
  • Golang连接Oracle 需要安装Oracle Full Client或Instant Client Oracle的Instant Client套件下载地址 #选择Instant Client for macOS (Intel x86)下载包如下: instantclient-basic-macos.x64-19.8.0.0.0dbru.zip instantclient-sdk-macos.

  • 导读 这篇文章主要介绍如何利用 golang 操作 oracle 数据库,包括基本的增删改查,本地 oracle 环境搭建,以及如何在 docker 中运行。 oracle client 镜像构建并不容易,花了很长时间去踩坑,文中提供了已经构建好的基础镜像,可以直接使用,这里贡献给大家。 本地环境构建 安装客户端 mac 在上面的页面下载之后执行: # 解压 cd ~ unzip instantc

  • 环境准备 GoLang: go1.15.7 windows/amd64 Docker: 1.13.1 MySQL: 8.0.28 一、利用容器部署mysql 1、首先通过docker pull mysql拉取mysql镜像 [root@k8s-master ~]# docker pull mysql Using default tag: latest Trying to pull reposito

  • // Copyright 2015 Tamás Gulácsi. All rights reserved. // Use of this source code is governed by The MIT License // found in the accompanying LICENSE file. #include // define simple way to respresent O

  • Golang连接Oracle的库有很多,比较常见的如下: 不过,oralce 只提供了 oci8 的接口,必须通过它来调用,所以下面方案都逃不过相关设置。 1、go-db-oracle 官方介绍: Oracle Driver using cgo to call OCI libraries from Oracle Instant Client 11. Developed with Linux Sta

  • 解决go显示select结果为科学计数法的问题 sql语句如下:执行后,使用map集合传入前台,显示可能为科学计数法(这里为什么说可能,因为本地不会显示,但是在服务器和小关电脑上会显示,很奇怪,也不知道为什么) SELECT dd.Name, cc.待处理新增, cc.待处理变更, cc.待处理注销, cc.已处理新增, cc.已处理变更, cc.已处理注销, cc.本次特殊处理, cc.永久特殊

  • https://github.com/golang/go/wiki/SQLDrivers   SQL database drivers The database/sql and database/sql/driver packages are designed for using databases from Go and implementing database drivers, respec

  • golang通过oci访问oracle数据库 首先需要下载 oracle driver for go that using database/sql $ go get github.com/mattn/go-oci8 然后下载Oracle Instant Client 解开后得到文件夹,例如:instantclient_19_3 golang访问程序 package main import ( "

  • 说明:go语言连接数据库不像JAVA那么方便,本文分别介绍了连接三种典型数据库的驱动以及连接方式:小型:SQLite;中型:MySQL;大型:Orace. 安装问题: 1.32 位 windows 的安装 1_1.安装 sqlite3。到 http://www.sqlite.org/download.html 的页面中,找到 sqlite-dll-win32-x86-3071700.zip 下载解

  • package util import ( "database/sql" "encoding/json" log "erpgo/util/logUtil" "fmt" "reflect" "time" _ "github.com/denisenkom/go-mssqldb" //这个驱动可以连接sqlserver2019,但是好像不能够连接sql server 2008一下

  • 导入相关的包 import ( "database/sql" //数据库操作 "fmt" //输出 _ "github.com/go-sql-driver/mysql" //mysql驱动 _ "github.com/mattn/go-oci8" //oracle驱动 ) 初始化数据库连接 /*基础代码*/ func initIni() { // 建议从配置文件中获取 i

  • java 依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.25</version> </dependency> <depende

  • gorm是目前用得最多的go语言orm库,但是目前gorm官方并不支持oracle的驱动,需要用到第三驱动,最近有个项目要往oracle写数据,记录一下踩到的坑 下载依赖 go get github.com/cengsin/oracle 这个驱动与最新的gorm库不匹配,要将gorm降级到1.21版本,不然会出现“......github.com/cengsin/oracle@v1.0.0/ora

 相关资料
  • IBM_DB adapter & driver 是 Ruby 用来连接 IBM DB2数据库的驱动程序。 随着 IBM_DB adapter & driver的引入,Rails 应用程序可以无缝地与 IBM 数据进行交互。IBM_DB adapter & driver是一个由 IBM 官方开发并维护的用于 Ruby 的 DB2 驱动。实际上,它的开发人员就是 DB2 的开发人员。因此,在性能和对

  • 前面两个小节我们分别学习了 Go 语言中的变量声明和赋值。按照一贯的思维,变量肯定是要先声明然后才能被赋值并使用。但是在 Go 语言中新增了一个特殊的运算符 := ,这个运算符可以使变量在不被声明的情况下直接使用,这节课我们就来具体看下这个特殊的运算符: 1. 单变量 := Go 语言中新增了一个特殊的运算符:=,这个运算符可以使变量在不声明的情况下直接被赋值使用。其使用方法和带值声明变量类似,只

  • 实际开发中,对于超出 int64 或者 uint64 类型的大数进行计算时,如果对精度没有要求,使用 float32 或者 float64 就可以胜任,但如果对精度有严格要求的时候,我们就不能使用浮点数了,因为浮点数在内存中只能被近似的表示。 Go语言中 math/big 包实现了大数字的多精度计算,支持 Int(有符号整数)、Rat(有理数)和 Float(浮点数)等数字类型。 这些类型可以实现

  • 包(package)是多个 Go 源码的集合,是一种高级的代码复用方案,像 fmt、os、io 等这样具有常用功能的内置包在 Go语言中有 150 个以上,它们被称为标准库,大部分(一些底层的除外)内置于 Go 本身。 包要求在同一个目录下的所有文件的第一行添加如下代码,以标记该文件归属的包: package 包名 包的特性如下: 一个目录下的同级文件归属一个包。 包名可以与其目录不同名。 包名为

  • 主要内容:使用命令行查看GOPATH信息,使用GOPATH的工程结构,设置和使用GOPATH,在多项目工程中使用GOPATHGOPATH 是 Go语言中使用的一个环境变量,它使用绝对路径提供项目的工作目录。 工作目录是一个工程开发的相对参考目录,好比当你要在公司编写一套服务器代码,你的工位所包含的桌面、计算机及椅子就是你的工作区。工作区的概念与工作目录的概念也是类似的。如果不使用工作目录的概念,在多人开发时,每个人有一套自己的目录结构,读取配置文件的位置不统一,输出的二进制运行文件也不统一,这样

  • Go语言中 continue 语句可以结束当前循环,开始下一次的循环迭代过程,仅限在 for 循环内使用,在 continue 语句后添加标签时,表示开始标签对应的循环,例如: 代码输出结果如下: 0 2 1 2 代码说明:第 14 行将结束当前循环,开启下一次的外层循环,而不是第 10 行的循环。

  • Go语言中的 map 在并发情况下,只读是线程安全的,同时读写是线程不安全的。 下面来看下并发情况下读写 map 时会出现的问题,代码如下: 运行代码会报错,输出如下: fatal error: concurrent map read and map write 错误信息显示,并发的 map 读和 map 写,也就是说使用了两个并发函数不断地对 map 进行读和写而发生了竞态问题,map 内部会对

  • 主要内容:语法简单,并发模型,内存分配,垃圾回收,静态链接,标准库,工具链Go语言也称为 Golang,是由 Google 公司开发的一种静态强类型、编译型、并发型、并具有垃圾回收功能的编程语言。 接下来从几个方面来具体介绍一下Go语言的特性。 语法简单 抛开语法样式不谈,单就类型和规则而言,Go 与 C99、C11 相似之处颇多,这也是Go语言被冠以“NextC”名号的重要原因。 Go语言的语法处于简单和复杂的两极。C语言简单到你每写下一行代码,都能在脑中想象出编译后