栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

go基于ODPI-C 的oracle golang 驱动使用

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

go基于ODPI-C 的oracle golang 驱动使用

package main

import (
	"database/sql"
	"fmt"

	_ "github.com/godror/godror"
	//_ "github.com/wendal/go-oci8"
)

//数据库配置
const (
	host        = "10.11.48.60"
	port        = 1521
	user        = "LabwayJy"
	sqlpassword = "LabwayJy"
	dbname      = "orcl"
)

func main() {
	// 用户名/密码@IP:端口/实例名
	osqlInfo := fmt.Sprintf("%s/%s@%s:%d/%s", user, sqlpassword, host, port, dbname)
	fmt.Println(osqlInfo)
	db, err := sql.Open("godror", osqlInfo)
	if err != nil {
		panic(err)
	}
	defer db.Close()
	err = db.Ping()
	if err != nil {
		panic(err)
	}
	// db.Prepare("")
	// rows, err := db.Query("select distinct t.test_main_id  from  lis_test_main t , lis_oper_record t1 where  t.test_main_outer_id=t1.oper_bus_id and t1.oper_org_id='2510' AND TO_CHAr(TWO_CHECK_DATE,'yyyy-mm-dd')='2021-12-14'")

	rows, err := db.Query("select * from LIS_TEST_MAIN WHERe TEST_MAIN_ID='c4bf987585024765b17b7cbd6debb09f'")

	columns, _ := rows.Columns()
	columnLength := len(columns)
	cache := make([]interface{}, columnLength) //临时存储每行数据
	for index, _ := range cache {              //为每一列初始化一个指针
		var a interface{}
		cache[index] = &a
	}
	var list []map[string]interface{} //返回的切片
	for rows.Next() {
		_ = rows.Scan(cache...)

		item := make(map[string]interface{})
		for i, data := range cache {
			item[columns[i]] = *data.(*interface{}) //取实际类型
		}
		list = append(list, item)
	}
	_ = rows.Close()

	fmt.Println(list)
	// return list, nil

}


以上是若是在win环境下,需要安装gcc 环境

C:mingw64
需要在系统变量里设置gcc参数

rows 数据库格式的,需要格式化成map格式然后打印出来

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/665703.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号