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,如下:
2.4. go-aci文件配置
-
更新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库文件在go−aci目录中,需要根据部署平台从数据库中的安装目录中拷贝SZ_OSCAR_HOME/aci/,比如在arm平台下,
$SZ_OSCAR_HOME/aci/arm64/libaci.so文件拷贝到/usr/lib/go/src/go-aci目录下。 -
修改aci.pc文件:
aci.pc文件中记录的是编译go-aci依赖头文件和aci库文件的路径,将其修改为对应目录,比如:
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,确保编译无错,如图:
2.6. go-aci测试
到/usr/lib/go/src/go-aci/test目录下,编译test.go : go build -o test_goaci test.go,如图
执行test_goaci:./test_goaci sysdba/szoscar55@localhost:2003/osrdb
备注:链接数据库的用户名、密码、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,直接下一步
选择安装路径:比如c:\mingw-w64
等待安装:
安装完成:
将c:\mingw-w64\mingw64\bin目录添加到系统path环境变量中:
备注:对于离线环境,可以将安装好mingw-w64的整个文件拷贝到无网环境,通用需要配置path路径即可。
安装是否成功验证,开启新的cmd窗口,执行gcc ,提示如下即可:
3.2. Go SDK安装
Go sdk要求1.9以上,下载链接:https://dl.google.com/go/go1.14.1.windows-amd64.msi
然后进行安装
将c:\Go\bin\bin目录添加到系统path环境变量中:
验证是否安装成功,开启新cmd终端,执行go,如图:
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目录下:
修改go-aci目录下的aci.pc文件如下,路径需要和安装路径一致:
开启一个cmd,然后进入到C:\Go\src\go-aci目录下,依次执行,没有报错即为正确
set PKG_CONFIG_PATH=%cd%
go build go-aci
如图:
3.5. test程序
cmd中进入到C:\Go\src\go-aci\test目录,执行
go build test.go
备注:需要在数据库中创建test表:create table test( a int ,b text);