Window环境下安装mattn/go-oci8库

2023-11-03 17:31
文章标签 go 安装 环境 window mattn oci8

本文主要是介绍Window环境下安装mattn/go-oci8库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概述

  • mattn/go-oci8库是在go语言中,连接oracle数据库的驱动程序,之前在另外一个篇 mattn / go-oci8 库安装 (用于go连接oracle数据库) 介绍了在linux环境如何编译和安装,这次我们在Windows环境下进行安装。
环境准备
  • GCC编译环境
  • PKG-CONFIG 程序 百度网盘提取码: r4fr
  • Oracle InstanceClient 这里我用的是截止目前最新的19.6版本
  • Oracle SDK 这里我用的是截止目前最新的19.6版本
安装配置
  • GCC编译环境
    解压下载下来的mingw-v64-v7.0.0.zip文件到文件系统,我这里解压到了了C盘
    添加mingw64到环境变量PATH
    在这里插入图片描述
  • 添加pkg-config程序
    将解压后的PKG-CONFIG.zip的内容提取到GCC的bin目录下,包括其中的libglib-2.0-0.dll文件
  • 配置Oracle InstanceClient
    解压下载下来的instantclient-basic-windows.x64-19.6.0.0.0dbru.zip和instantclient-sdk-windows.x64-19.6.0.0.0dbru.zip文件到同一文件系统的目录中去,我这里解压到了D盘根目录下D:\instantclient_19_6,添加该路径到环境变量PATH
    在这里插入图片描述
  • 配置oci.pc8文件
prefix=/devel/target/XXXXXXXXXXXXXXXXXXXXXXXXXX
exec_prefix=${prefix}
libdir=D:/instantclient_19_6/sdk/lib/msvc
includedir=D:/instantclient_19_6/sdk/includeglib_genmarshal=glib-genmarshal
gobject_query=gobject-query
glib_mkenums=glib-mkenumsName: oci8
Description: oci8 library
Libs: -L${libdir} -loci
Cflags: -I${includedir}
Version: 19.6

其中主要配置libdir以及includedir,指向oracleInstanceClient客户端的lib目录以及sdk目录

  • 配置PKG_CONFIG_PATH环境变量指向oci.pc8文件
  • 执行go get github.com/mattn/go-oci8 进行在线安装

测试代码

package main
import ("database/sql""log""fmt"_ "github.com/mattn/go-oci8"
)func main(){sqlconn := "demo/demo@172.17.0.3:1521/orcl"db, err := sql.Open("oci8", sqlconn)if err != nil {log.Fatalln(err)}defer db.Close()sql := "select sysdate from dual"rows, err := db.Query(sql)if err != nil {log.Fatalln(err)}defer rows.Close()for rows.Next() {var re stringrows.Scan(&re)fmt.Println(re)}if err = rows.Err(); err != nil {log.Fatalln(err)}
}

这篇关于Window环境下安装mattn/go-oci8库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/339791

相关文章

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

基于Go语言实现一个压测工具

《基于Go语言实现一个压测工具》这篇文章主要为大家详细介绍了基于Go语言实现一个简单的压测工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录整体架构通用数据处理模块Http请求响应数据处理Curl参数解析处理客户端模块Http客户端处理Grpc客户端处理Websocket客户端

Go中sync.Once源码的深度讲解

《Go中sync.Once源码的深度讲解》sync.Once是Go语言标准库中的一个同步原语,用于确保某个操作只执行一次,本文将从源码出发为大家详细介绍一下sync.Once的具体使用,x希望对大家有... 目录概念简单示例源码解读总结概念sync.Once是Go语言标准库中的一个同步原语,用于确保某个操

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

Window Server2016加入AD域的方法步骤

《WindowServer2016加入AD域的方法步骤》:本文主要介绍WindowServer2016加入AD域的方法步骤,包括配置DNS、检测ping通、更改计算机域、输入账号密码、重启服务... 目录一、 准备条件二、配置ServerB加入ServerA的AD域(test.ly)三、查看加入AD域后的变

Window Server2016 AD域的创建的方法步骤

《WindowServer2016AD域的创建的方法步骤》本文主要介绍了WindowServer2016AD域的创建的方法步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、准备条件二、在ServerA服务器中常见AD域管理器:三、创建AD域,域地址为“test.ly”

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ