当前位置: 首页 > news >正文

golang通过go-aci适配神通数据库

1. go-aci简介
go-aci是神通数据库基于ACI(兼容Oracle的OCI)开发的go语言开发接口,因此运行时需要依赖ACI驱动和ACI库的头文件。支持各种数据类型的读写、支持参数绑定、支持游标范围等操作。

2. Linux部署步骤

2.1. Go安装:

版本:1.9以上
Go安装目录:/usr/lib/go

2.2. 编译环境:

版本:gcc和g++ 4.8以上

2.3. go-aci文件拷贝

将神通go-aci驱动拷贝到go的src目录,比如:/usr/lib/go/src,如下:
image.png

2.4. go-aci文件配置

  1. 更新aci的头文件和aci库文件:
    头文件:go-aci自带aci头文件,默认情况下不用更新,aci头文件可从数据库安装目录: S Z O S C A R H O M E / a c i / i n c l u d e 获取。 A c i 库文件: a c i 库文件在 g o − a c i 目录中,需要根据部署平台从数据库中的安装目录中拷贝 SZ_OSCAR_HOME/aci/include获取。 Aci库文件:aci库文件在go-aci目录中,需要根据部署平台从数据库中的安装目录中拷贝 SZOSCARHOME/aci/include获取。Aci库文件:aci库文件在goaci目录中,需要根据部署平台从数据库中的安装目录中拷贝SZ_OSCAR_HOME/aci/,比如在arm平台下,
    $SZ_OSCAR_HOME/aci/arm64/libaci.so文件拷贝到/usr/lib/go/src/go-aci目录下。

  2. 修改aci.pc文件:
    aci.pc文件中记录的是编译go-aci依赖头文件和aci库文件的路径,将其修改为对应目录,比如:
    image.png

2.5. go-aci编译

设置环境变量:PKG_CONFIG_PATH,export PKG_CONFIG_PATH=$go-aci , $go-aci为go-aci代码的路径,比如export PKG_CONFIG_PATH=/usr/lib/go/src/go-aci
终端中cd /usr/lib/go/src/,执行go build go-aci,确保编译无错,如图:
image.png

2.6. go-aci测试

到/usr/lib/go/src/go-aci/test目录下,编译test.go : go build -o test_goaci test.go,如图
image.png
执行test_goaci:./test_goaci sysdba/szoscar55@localhost:2003/osrdb
image.png
备注:链接数据库的用户名、密码、ip和端口、实例名称都是可以更改的,执行前在数据库中建表:create table test( a int ,b text);

3) 注意事项:
因为go-aci依赖的是神通aci库,因此在go调用go-aci程序时,需要确认aci库所在的路径是否系统运行时找到,如果没有可以将aci库与运行程序放在同一目录即可。

3. Win部署步骤

3.1. mingw-w64安装

mingw能提供在windows环境下的gcc和g++编译换环境,安装方式如下:
下载mingw-w64-install.exe,可在线安装,下载链接:
https://nchc.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe
运行:mingw-w64-install.exe,选择x86_64,直接下一步
image.png
选择安装路径:比如c:\mingw-w64
image.png
等待安装:
image.png
安装完成:
image.png
将c:\mingw-w64\mingw64\bin目录添加到系统path环境变量中:
image.png

备注:对于离线环境,可以将安装好mingw-w64的整个文件拷贝到无网环境,通用需要配置path路径即可。

安装是否成功验证,开启新的cmd窗口,执行gcc ,提示如下即可:
image.png

3.2. Go SDK安装

Go sdk要求1.9以上,下载链接:https://dl.google.com/go/go1.14.1.windows-amd64.msi
然后进行安装
image.png
image.png
image.png
将c:\Go\bin\bin目录添加到系统path环境变量中:
image.png
验证是否安装成功,开启新cmd终端,执行go,如图:
image.png

3.3. pkg-config依赖安装

下载pkg-config,地址http://ftp.acc.umu.se/pub/gnome/binaries/win64/dependencies/pkg-config_0.23-2_win64.zip
将下载的pkg-config放置到c:\go\bin目录下。

pkg-config会依赖libglib-2.0-0.dll库,需要下载glib,链接如下,将libglib-2.0-0.dll与pkg-config.exe都放置在c:\go\bin目录下。
http://ftp.acc.umu.se/pub/gnome/binaries/win64/glib/2.18/glib_2.18.4-1_win64.zip

3.4. go-aci配置

将go-aci源码拷贝到go目录下,比如C:\Go\src目录下:
image.png
修改go-aci目录下的aci.pc文件如下,路径需要和安装路径一致:
image.png
开启一个cmd,然后进入到C:\Go\src\go-aci目录下,依次执行,没有报错即为正确
set PKG_CONFIG_PATH=%cd%
go build go-aci
如图:
image.png

3.5. test程序

cmd中进入到C:\Go\src\go-aci\test目录,执行
go build test.go
image.png
备注:需要在数据库中创建test表:create table test( a int ,b text);

http://www.lryc.cn/news/351846.html

相关文章:

  • 【Vue】Vue2中的Vuex
  • 前端生成二维码
  • wordpress woocommer 添加代码实现,点击按钮,将产品添加到购物车并且跳转到结账页面
  • Scala学习笔记6: 类
  • JS数组根据对象的某一个字段排序
  • JavaScript操作
  • 雪花算法 代码
  • 我把PostgreSQL最核心的插件撸干净了!!!
  • Transformer详解(1)-结构解读
  • 使用Flask Swagger自动生成API文档
  • 操作系统408考研-经典例题
  • 工程项目管理系统源码与Spring Cloud:实现高效系统管理与二次开发
  • react中hook 函数的使用
  • 探索k8s集群中kubectl的陈述式资源管理
  • webgl入门-绘制三角形
  • 深入分析 Android Activity (三)
  • 电影《朝云暮雨》观后感
  • Isaac Sim仿真平台学习(1)认识Isaac Sim
  • C++:vector基础讲解
  • Grafana 路径遍历所有路径 CVE-2021-43798漏洞预警
  • 基于Docker部署GitLab环境搭建
  • 初始化是什么
  • Python图形界面(GUI)Tkinter笔记(九):用【Button()】功能按钮实现人机交互
  • linux 内核安装、切换版本,禁用内核更新
  • 充电桩中PE接地实时监测的一种电路.pdf
  • 鲲泰新闻丨第七届数字中国建设峰会正式启幕,神州鲲泰携手天翼云共筑智算云生态
  • 零基础学Java第二十二天之IO流之内存流,打印流,随机流
  • vue-router路由懒加载以及三种实现方式
  • Java轻松转换Markdown文件到Word和PDF文档
  • 【JAVA基础之内部类】匿名内部类