目录
问题内容
解决方法
首页 后端开发 Golang 为什么从golang连接oracle自治数据库失败?

为什么从golang连接oracle自治数据库失败?

Feb 09, 2024 pm 12:40 PM
overflow

为什么从golang连接oracle自治数据库失败?

php小编百草在这里为大家解答一个常见问题:“为什么从golang连接Oracle数据库失败?”在使用golang连接Oracle数据库时,有时会遇到连接失败的问题。这可能是由于多种原因引起的,例如数据库配置错误、网络连接问题或者驱动程序不兼容等。本文将详细分析可能的原因,并提供解决方案,帮助读者解决这个问题,让连接Oracle数据库的过程更加顺利。

问题内容

dsn := `
user=admin,
password=temp1!a,
(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-seoul-1.oraclecloud.com))(connect_data=(service_name=gee9edfb93f3cf6_redglqweyxqefhhf_high.adb.oraclecloud.com))(security=(ssl_server_cert_dn="cn=adb.ap-seoul-1.oraclecloud.com, ou=oracle adb seoul, o=oracle corporation, l=redwood city, st=california, c=us")))
`

db, err := sql.open("godror", dsn)
if err != nil {
    fmt.println(err)
    return
}
defer db.close()
登录后复制

我创建了一个自治数据库,我尝试在golang中用上面的代码连接,但是无法连接,出现以下错误,如何连接,我找不到详细的手册,你能帮我吗?

go run main.go
parsing parameters "user=ADMIN,\n\tpassword=temp1!a,\n\t(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-seoul-1.oraclecloud.com))(connect_data=(service_name=gee9edfb93f3cf6_redglqweyxqefhhf_high.adb.oraclecloud.com))(security=(ssl_server_cert_dn=\"CN=adb.ap-seoul-1.oraclecloud.com, OU=Oracle ADB SEOUL, O=Oracle Corporation, L=Redwood City, ST=California, C=US\")))": logfmt syntax error at pos 44 on line 3: unexpected '='
登录后复制

解决方法

我是oracle和golang的新用户,一切都是新的,我很难找到连接oracle和golang的文档。有手册,但我不太明白。

如果您在 stackoverflow 上发布问题,答案只是手册的链接。对于初学者来说,体验新环境确实很困难

我终于找到了解决方案,我的代码如下。即使您看不懂代码,在查看示例时一一思考也会很好。

package main

import (
    "database/sql"
    "fmt"

    go_ora "github.com/sijms/go-ora/v2"
)

type DbInfo struct {
    Username string
    Password string
}

func main() {
    serverInfo := DbInfo{
        Username: "databaseUser",
        Password: "databaseUserPassword",
    }
    urlOptions := map[string]string{
        "TRACE FILE": "trace.log",
        "SSL VERIFY": "FALSE",
    }
    connectString := "(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-seoul-1.oraclecloud.com))(connect_data=(service_name=gvsd1dfc9c3cdf6_racc7y8cxsvb16f0z_medium.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))"

    db, err := sql.Open("oracle", go_ora.BuildJDBC(serverInfo.Username, serverInfo.Password, connectString, urlOptions))

    if err != nil {
        panic(err.Error())
    }
    defer db.Close()

    r, err := db.Exec(`create table users (
        nickname varchar(20)
    )`)
    if err != nil {
        panic(err.Error())
    }
    fmt.Println(r.LastInsertId())
}
登录后复制

上面的代码不需要钱包来进行 tls 访问。我也会在下面上传如何通过钱包访问它,供有需要的初学者使用。

以上是为什么从golang连接oracle自治数据库失败?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

比特币诞生至今价格2009-2025 最全的BTC历史价格汇总 比特币诞生至今价格2009-2025 最全的BTC历史价格汇总 Jan 15, 2025 pm 08:11 PM

自 2009 年问世以来,比特币成为加密货币界的领头羊,其价格经历了巨大的波动。为了提供全面的历史概述,本文汇集了从 2009 年到 2025 年的比特币价格数据,涵盖了重大的市场事件、市场情绪变化和影响价格走势的重要因素。

Windows11右下角时间没了怎么办_Windows11右下角时间没了解决方法 Windows11右下角时间没了怎么办_Windows11右下角时间没了解决方法 May 06, 2024 pm 01:20 PM

1、首先右键点击windows11下方任务栏空白处,选择【任务栏设置】。2、在任务栏设置中找到右侧的【taskbarcorneroverflow】。3、然后在它上方找到【clock】或【时钟】选择开启即可。方法二:1、按下键盘快捷键【win+r】调出运行,输入【regedit】回车确定。2、打开注册表编辑器,在其中找到【HKEY_CURRENT_USERControlPanel】,将它删除。3、删除完了之后重启电脑会提示配置,回到系统就会显示时间了。

Java 函数有哪些社区论坛或讨论组可以提问和讨论? Java 函数有哪些社区论坛或讨论组可以提问和讨论? Apr 28, 2024 pm 02:12 PM

解答:以下社区论坛和讨论组可用于解决Java函数式编程问题:StackOverflow:全球最大的编程问答网站,拥有Java函数式编程专家社区。JavaFunctionalProgramming:专注于Java函数式编程的社区论坛,提供有关概念、语言特性和最佳实践的讨论。Redditr/functionaljava:专注于Java函数式编程的subreddit,关注工具、库和技术。Discord:JavaFunctionalProgramming:提供实时讨论、代码分享和协作的Discord服务

python怎么用别人的代码 python怎么用别人的代码 May 05, 2024 pm 07:54 PM

如何使用他人的 Python 代码?查找代码库:在 PyPI 和 GitHub 等平台上查找所需代码。安装代码:使用 pip 或克隆 GitHub 仓库进行安装。导入模块:在脚本中使用 import 语句导入已安装的模块。使用代码:访问模块中的函数和类。(可选)调整代码:根据需要修改代码以适应您的项目。

win11电脑时间一直不对怎么办?win11电脑时间不对怎么调整方法 win11电脑时间一直不对怎么办?win11电脑时间不对怎么调整方法 May 03, 2024 pm 09:20 PM

win11电脑时间一直不对怎么办?我们在使用win11系统的时候都会设置时间或者是日历,但是也有不少的用户们在询问电脑的时间一直不对,那么这是怎么回事?用户们可以直接的点击下方的任务栏,然后找到taskbarcorneroverflow来进行设置就可以了。下面就让本站来为用户们来仔细的介绍一下win11电脑时间不对如何调整方法吧。win11电脑时间不对如何调整方法方法一:1、我们首先右键点击下方任务栏空白处,选择任务栏设置。方法二:1、按下键盘快捷键win+r调出运行,输入regedit回车确定

Java 函数开发中常见的异常类型及其修复措施 Java 函数开发中常见的异常类型及其修复措施 May 03, 2024 pm 02:09 PM

Java函数开发中常见的异常类型及其修复措施在Java函数开发过程中,可能遇到各种异常,影响函数的正确执行。以下是常见的异常类型及其修复措施:1.NullPointerException描述:当访问一个还未初始化的对象时抛出。修复措施:确保在使用对象之前对其进行非空检查。示例代码:try{Stringname=null;System.out.println(name.length());}catch(NullPointerExceptione){

overflow在css中是什么意思 overflow在css中是什么意思 Apr 28, 2024 pm 03:15 PM

overflow 是 CSS 的一个属性,用于控制元素内容超出容器时的显示方式,可用值包括:visible:内容可见,溢出容器hidden:剪切溢出内容scroll:显示滚动条查看溢出内容auto:浏览器自动判断是否显示滚动条inherit:继承父元素的 overflow 属性

抖音乱封账号没人管吗?可以二次申诉吗? 抖音乱封账号没人管吗?可以二次申诉吗? May 03, 2024 am 09:37 AM

抖音作为全球知名的短视频平台,拥有庞大的用户群体和内容创造者。然而,随着平台规则的不断更新和完善,一些用户可能会遇到账号被封禁的情况。这引发了公众对于平台管理透明度和公正性的质疑。本文将探讨抖音账号封禁问题,以及用户在遇到账号被封后是否有申诉的途径。在抖音平台被封禁的原因可能有很多,包括但不限于涉及违法违规内容、违反平台规定、侵犯他人权益等。为了维护平台的秩序和用户的利益,抖音设置了一系列规则和审核机制。当一些用户违反规定时,他们的账号可能会被封禁。然而,有些用户可能会对封禁的理由产生质疑或不满

See all articles