暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用Go 驱动 Gokb 连接和使用 金仓数据库Kingbase

数据猿 2025-03-24
39

 

 

本文介绍如何通过 Go 驱动 Gokb 连接和使用 Kingbase 数据库。

前提条件

  • 确保已设置基本的应用开发环境。

  • 确保已安装与驱动对应版本的数据库,且数据库连接可用。

满足以上条件后,可通过金仓官网下载页面(电科金仓-成为世界卓越的数据库产品与服务提供商)获取对应版本的go驱动源码。

操作实例

搭建 go 的开发环境,并基于 go 编译开发应用程序,下文以 Linux 环境使用 Gokb 连接数据库并执行简单的插入查询操作做示例说明,主要步骤如下:

下载和安装Go

1.访问Go官网

访问Go官方页面下载对应操作系统的安装包

2.安装Go

根据操作系统进行安装:

操作系统 描述
Windows 下载 .msi 安装包并运行,按照提示完成安装
macOS 下载 .pkg 文件并运行安装程序完成安装
Linux 下载 .tar.gz 文件,解压并配置

以下是 Linux 的示例:

tar -zxvf go1.x.x.linux-amd64.tar.gz

export PATH=/go解压后的目录/go/bin:$PATH
复制

可将 export 配置在~/.bashrc等文件中

3.验证安装

在终端运行命令

go version
复制

输出 go version go1.x.x [os/arch] 即表示安装成功

使用GOPATH管理Gokb

使用 GOPATH 管理 Gokb(GOPATH或GOMODULE根据需要选择一种即可)

1.查看或配置GOPATH

使用命令查看当前的GOPATH的路径:

go env
复制

也可以通过命令设置其它的路径为GOPATH

export GOPATH=xxx 
或
go env -w GOPATH=xxx
复制

使用命令 go env 查看 GO111MODULE,默认为空,表示当项目下存在 go.mod 文件时通过 GOMODULE 管理,否则通过 GOPATH 管理,不同 go 版本可能存在差异,可通过命令强制指定使用 GOPATH 管理:

export GOPATH=off
或
go env -w GOPATH=off
复制

2.配置 Gokb

解压 go 驱动源码,将解压后的 kingbase.com/gokb 完整放置在 GOPATH 的 src 路径下,没有 src 路径时可手动创建。

通过 shell 命令下载 Gokb 的依赖:

go get github.com/shopspring/decimal@latest

go get github.com/golang-sql/civil@latest
复制

如果使用的是 go1.17 及更高版本,go get 不支持在非 GOMODULE 下添加依赖,可以使用 go install 替换 go get 命令。

下载的依赖在 $GOPATH/pkg/mod 目录下,比如 $GOPATH/pkg/mod/github.com/shopspring/decimal@v1.4.0,

将两个依赖包不保留版本号拷贝到 $GOPATH/src 目录下,比如拷贝为 $GOPATH/src/github.com/shopspring/decimal 即可

3.导入Gokb(此代码在示例文件中已包含)

在用例文件中通过 _ 方式导入Gokb驱动即可通过 go 的官方包 database/sql 操作数据库

import (

    "database/sql"// 提供数据库连接操作等api
    "kingbase.com/gokb"// 往往不直接导入数据库驱动包,除非要使用驱动包中的特有能力
    _ "kingbase.com/gokb"// 通过_方式导入会调用驱动包的初始化函数,完成注册驱动
)
复制

4.编译示例并执行

修改示例文件中的连接串,使用命令编译名为test.go的用例文件,得到可执行文件test通过./test执行即可

go build test.go
复制

或可通过以下命令直接执行,此命令包含编译并执行,但是不会生成可执行文件

go run test.go
复制

使用GOMODULE管理Gokb

使用 GOMODULE 管理 Gokb(GOPATH或GOMODULE根据需要选择一种即可)

1.查看或配置 GOMODULE

在 go 1.11 引入 GO MODULE 管理包,使用以下命令查看 GO111MODULE,默认为空,表示当项目下存在 go.mod 文件时通过 GOMODULE 管理否则通过 GOPATH 管理

go env
复制

不同 go 版本可能存在差异,可通过命令以下命令强制指定使用 GOMODULE 管理

export GOPATH=on 或 go env -w GOPATH=on
复制

在工程目录下使用以下命令初始化一个名为 test 的项目

go mod init test
复制

得到一个go.mod文件,初始内容为

module test
go 1.18 
复制

2.配置 Gokb

使用 GOMODULE 管理依赖包时可以在联网环境下自动拉取或删除项目所需的依赖包,Gokb 尚未发布到开源网站,所以需要手动配置位置

解压 go 驱动源码,将 kingbase.com/gokb 源码放置在需要的任意位置即可

修改 go.mod,添加以下内容:

module test
go 1.18 

require kingbase.com/gokb v1.0.0
replace kingbase.com/gokb \=\> kingbase.com/gokb所在的绝对路径或相对路径
复制

执行以下命令自动拉取项目所需要的其它依赖:

go mod tidy
复制

该命令也会同时拉取 Gokb 所需的依赖包并指定所需的版本,不需要再手动进行管理

3.编译用例并执行

修改示例文件中的连接串,使用命令编译名为 test.go 的用例文件,得到可执行文件 test,通过 ./test 执行即可。

go build test.go
复制

或可通过以下命令直接执行,此命令包含编译并执行,但是不会生成可执行文件

go run test.go
复制

  

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论