如何连接到oracle,如何在Go中连接到Oracle

小编典典

如果您仍然感兴趣,我已经在Windows上与Go和Oracle一起工作了几个月。到目前为止,我最喜欢的驱动程序是go-

oci8。它比goracle快得多,并且似乎更活跃。

我们的某些应用程序需要部署在我们无权访问的计算机上。两种本机SQL驱动程序都可以与应用程序一起编译,而无需任何外部配置,因此这是一个巨大的优势。该计算机仍将需要安装Oracle客户端,但这是唯一的外部依赖关系。

我不会说go-

oci8还可以投入生产,但是当您知道它的局限性时,它就足够稳定了。一个示例是,当同时在多个goroutine上运行时,它会感到恐慌,因此,如果需要,可能需要使用互斥锁。

我基本上已经按照本教程进行安装:https :

//gist.github.com/mnadel/8678269

最棘手的部分是正确地创建oci8.pc。我的是:

prefix=/devel/target/1.0

exec_prefix=${prefix}

libdir=C:/oracle/instantclient_12_1_64/sdk/lib/msvc

includedir=C:/oracle/instantclient_12_1_64/sdk/include

oralib=C:/oracle/instantclient_12_1_64/sdk/lib/msvc

orainclude=C:/oracle/instantclient_12_1_64/sdk/include

gcclib=c:/MinGW_64/mingw64/lib

gccinclude=c:/MinGW_64/mingw64/lib

glib_genmarshal=glib-genmarshal

gobject_query=gobject-query

glib_mkenums=glib-mkenums

Name: oci8

Version: 12.1

Description: oci8 library

Libs: -L${oralib} -L${gcclib} -loci

Libs.private:

Cflags: -I${orainclude} -I${gccinclude}

有些事情可能是多余的,我可能会尝试在干净的机器上进行改进。

要记住的重要一点是,对于Go和Oracle客户端,应该使用相同的体系结构。因此,如果要使用Go的64位版本,则还需要Oracle的64位版本。我同时具有32位和64位版本,而64位是我的默认设置,当我需要构建32位版本时,我使用bat文件来更改必要的路径和环境变量。

可能值得花一些时间使其工作,您可能会获得比使用ODBC更好的性能。我一直在使用它的数据量较高(查询可提取5+百万行),并且效果很好。

2020-07-02

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值