golang 连接 oracle 数据库

13 篇文章 1 订阅

  1. 获取到数据库连接字符串
    connStr:=`server=111.11.111.11;port=33333;database=DB_RECORD_RAW_xxx;user id=db_record_raw_xxx;password=9ecf55f15f021111`
    
  2. 格式化sqlserver字符串,连接oracle数据库,返回数据库对象
/*
CreateOracleSQLConnV2 用于创建数据库链接,新的方法用于数据库核心认证
*/
func CreateOracleSQLConnV2(dbconfigdatastr string) (*sql.DB, error) {
	//建立 Oracle
	//fmt.Println("dbconfigdatastr", dbconfigdatastr)
	formatOracleConnStr(&dbconfigdatastr)
	sqldbdata, err := sql.Open("oracle", dbconfigdatastr)
	//sqldbdata, err := sql.Open("oci8", dbconfigdatastr)
	if err != nil {
		sbjlog.Debug("sql application pool:%s\n", err)
		defer sqldbdata.Close()
		return sqldbdata, err
	}
	//测试创建链接是否成功
	err = sqldbdata.Ping()
	dbName := strings.Split(dbconfigdatastr, "/")[2]
	if err != nil {
		sbjlog.Debug("%s DB Ping err : %s\n", dbName, err)
		defer sqldbdata.Close()
	} else {
		sbjlog.Printf("The Sql link is successful - %s.", dbName)
	}
	return sqldbdata, err
}


func formatOracleConnStr(connStr *string) {

	connStrArray := strings.Split(*connStr, "@")
	if len(connStrArray) != 2 {
		return
	}
	*connStr = "oracle://" + strings.Replace(connStrArray[0], "/", ":", -1) + "@" + connStrArray[1]
	return
}

3.引用文件:_ "github.com/sijms/go-ora/v2"

package main

import (
	"database/sql"
	"fmt"
	"net/http"
	"time"

	"cntotal.com/sbjbase/xfile"
	"cntotal.com/sbjlog"
	_ "github.com/denisenkom/go-mssqldb"
	_ "github.com/sijms/go-ora/v2"
)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值