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);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/638818.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[数据集][目标检测]吸烟检测数据集VOC+YOLO格式1449张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1449 标注数量(xml文件个数):1449 标注数量(txt文件个数):1449 标注…

深度学习之基于Pytorch框架手写数字识别

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 手写数字识别是数字图像处理领域的一个经典问题,也是深度学习技术的一个常用应用场…

初识C语言——第二十八天

代码练习1&#xff1a; 用函数的方式实现9*9乘法表 void print_table(int n) {int i 0;int j 0;for (i 1; i< n; i){for (j 1; j< i; j){printf("%d*%d%-3d ", i, j, i * j);}printf("\n");}}int main() {int n 0;scanf("%d", &a…

【加密与解密(第四版)】第十六章笔记

第十六章 脱壳技术 16.1 基础知识 壳的加载过程&#xff1a;保存入口参数、获取壳本身需要使用的API地址、解密原程序各个区块的数据、IAT的初始化、重定位项的处理、HOOK API、跳转到程序原入口点 手动脱壳步骤&#xff1a;查找真正的入口点、抓取内存映像文件、重建PE文件&…

pod介绍之 容器分类与重启策略

目录 一 pod 基础概念介绍 1&#xff0c;pod 是什么 2&#xff0c;Pod使用方式 3&#xff0c;如何解决一个pod 多容器通信 4&#xff0c;pod 组成 5&#xff0c; k8s 中的 pod 二 pause容器 1&#xff0c;pause容器 是什么 2&#xff0c;pause容器作用 3&#xff…

Android studio关闭自动更新

Windows下&#xff1a; 左上角file - setting - Appearance & Behavier - system setting - update - 取消勾选

汉明码(海明码)的计算的规则

一.汉明码的由来 1.汉明码&#xff08;Hamming Code&#xff09;&#xff0c;是在电信领域的一种线性调试码&#xff0c;以发明者理查德卫斯里汉明的名字命名。汉明码在传输的消息流中插入验证码&#xff0c;当计算机存储或移动数据时&#xff0c;可能会产生数据位错误&#x…

vivado2020.2创建hls仿真工程实现led闪烁

下载vivado2020.2后会有这个出现在桌面 点击进入创建工程&#xff0c;这里注意不要有前面的\我再复制的时候复制错了导致创建失败 按f光标就会跳转到下一个f开头的函数处&#xff0c;要查找其他函数也同理 生成了一个synthesis summary文件 找到目录下生成的.v文件 an 点…

U-Mail邮件系统为用户提供更加安全的数据保护机制

据外媒报道&#xff0c;近日美国国家安全委员会泄露了其成员的近1万封电子邮件和密码&#xff0c;暴露了政府组织和大公司在内的2000家公司。其中包括美国国家航空航天局和特斯拉等。报道称该漏洞于3月7日被研究人员发现&#xff0c;通过该漏洞攻击者能够访问对web服务器操作至…

等保三级-MySQL 加固

1、身份鉴别 要求&#xff1a;建议身份密码登录&#xff0c;身份标识具有唯一性&#xff0c;身份鉴别信息具有复杂度要求&#xff0c;密码长度最少为8位&#xff0c;密码由数字、字母大小写、特殊符号组成、并设置定期更换&#xff0c;更换时间最长位90天 &#xff08;1&#…

asp.net core接入prometheus

安装prometheus和Grafana 参考之前的文章->安装prometheus和Grafana教程 源代码 dotnet源代码 新建.net core7 web项目 修改Program.cs using Prometheus;namespace PrometheusStu01;public class Program {public static void Main(string[] args){var builder We…

airflow2.7.3 + celery + redis + mysql 安装部署测试

集群环境&#xff1a; ​ 3台 centos 7.9 (dp95、dp96、dp97) python3.8 ​ dp96&#xff1a;mysql8.0.36(mysql8.0离线安装) ​ dp95\dp96\dp97&#xff1a;celery 集群(Celery安装测试) 安装目标&#xff1a; airflow2.7.3 mysql celery redis WebserverSchedulerwo…

Java 商品入库系统 案例

测试类 package 练习.商品入库系统;import java.util.ArrayList; import java.util.Scanner; public class Test {public static final int Enrool 1;public static final int Search 2;public static final int Delect 3;public static final int Exit 4;public static…

交换机部分综合实验

实验要求 1.内网IP地址使用172.16.0.0/16 2.sw1和sW2之间互为备份; 3.VRRP/mstp/vlan/eth-trunk均使用; 4.所有pc均通过DHcP获取Ip地址; 5.ISP只配置IP地址; 6.所有电脑可以正常访问IsP路由器环回 实验拓扑 实验思路 1.给交换机创建vlan&#xff0c;并将接口划入vlan 2.在SW1和…

java实现List对象转geojson文本返回前端

1.业务需求 查询带有经纬度数据的list列表&#xff0c;将其转为geojson格式给前端。 2.GeoJson格式说明 GeoJSON是一种对各种地理数据结构进行编码的格式&#xff0c;基于Javascript对象表示法(JavaScript Object Notation, 简称JSON)的地理空间信息数据交换格式。GeoJSON对…

3D透视图模型转模型变形?---模大狮模型网

3D建模是数字艺术和设计领域中的重要技术&#xff0c;它可以为我们带来丰富多彩的视觉体验和创意表达。在本文中&#xff0c;我们将探讨一个引人注目的话题&#xff1a;3D透视图中模型转换是否会导致变形?通过深入探讨这个问题&#xff0c;我们希望能够帮助您更好地理解在3D建…

131. 面试中关于架构设计都需要了解哪些内容?

文章目录 一、社区系统架构组件概览1. 系统拆分2. CDN、Nginx静态缓存、JVM本地缓存3. Redis缓存4. MQ5. 分库分表6. 读写分离7. ElasticSearch 二、商城系统-亿级商品如何存储三、对账系统-分布式事务一致性四、统计系统-海量计数六、系统设计 - 微软1、需求收集2、顶层设计3、…

Zoho CRM怎么样?云衔科技为企业提供采购优惠!

企业对于客户关系管理&#xff08;CRM&#xff09;系统的需求日益增加&#xff0c;Zoho CRM作为一款备受赞誉的国际CRM服务提供商&#xff0c;凭借其全面的功能、出色的用户体验和卓越的性价比&#xff0c;成为了众多企业数字化转型的得力助手。 Zoho CRM是一款覆盖客户全生命…

【webrtc】m98:Call的创建及Call对音频接收处理

call中多個流共享相同的辅助组件 这几个是与外部共用的 线程传输send控制module 线程任务队列工厂call的辅助组件中各种统计以及接收测的cc是自己创建的 call自己的多个辅助组件是外部传递来的 call 创建多个接收流 这里用一个set 来保存所有指针,并没有要map的意思:

2024年贵州特岗教师招聘报名流程,速速查收哦!

2024年贵州特岗教师招聘报名流程&#xff0c;速速查收哦&#xff01;