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

相关文章

windows下安装Nginx全过程

《windows下安装Nginx全过程》文章介绍了HTTP和反向代理服务器的概念,包括正向代理和反向代理的区别,并详细描述了如何安装和配置Nginx作为反向代理服务器... 目录概念代理正向代理反向代理安装基本属性nginx.conf查询结构属性使用运行重启停止总结概念是一个高性能的HTTP和反向代理we

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav

python项目环境切换的几种实现方式

《python项目环境切换的几种实现方式》本文主要介绍了python项目环境切换的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 如何在不同python项目中,安装不同的依赖2. 如何切换到不同项目的工作空间3.创建项目

Go语言实现桥接模式

《Go语言实现桥接模式》桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立地变化,本文就来介绍一下了Go语言实现桥接模式,感兴趣的可以了解一下... 目录简介核心概念为什么使用桥接模式?应用场景案例分析步骤一:定义实现接口步骤二:创建具体实现类步骤三:定义抽象类步骤四:创建扩展抽象类步

GO语言实现串口简单通讯

《GO语言实现串口简单通讯》本文分享了使用Go语言进行串口通讯的实践过程,详细介绍了串口配置、数据发送与接收的代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录背景串口通讯代码代码块分解解析完整代码运行结果背景最近再学习 go 语言,在某宝用5块钱买了个

C++多线程开发环境配置方法

《C++多线程开发环境配置方法》文章详细介绍了如何在Windows上安装MinGW-w64和VSCode,并配置环境变量和编译任务,使用VSCode创建一个C++多线程测试项目,并通过配置tasks.... 目录下载安装 MinGW-w64下载安装VS code创建测试项目配置编译任务创建 tasks.js

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

Go 使用环境变量的实现小结

《Go使用环境变量的实现小结》作为软件开发人员,在项目中管理配置变量的重要性,本文主要介绍在Golang中处理环境变量的强大工具github.com/joho/godotenv包,利用这个包,你可以... 目录步js骤 1:安装步骤 2:制作 .env 文件步骤android 3:加载环境变量步骤 4:利用

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2