【发布时间】:2023-01-11 17:13:07
【问题描述】:
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 '='
【问题讨论】:
-
dsn格式不对。
-
连接参数应放入
connectString键:参见pkg.go.dev/github.com/godror/godror#readme-connection。还请验证是否可以正确解析逗号,因为它们在文档中不存在 -
db, error := sql.Open("godror", `user="scott" password="tiger" connectString="dbhost:1521/orclpdb1" 我检查了这部分,connectString 中应该缺少什么部分?
-
Oracle的db信息不需要输入吗?我如何在 oracle 中连接到我的数据库?
-
基于云的 Oracle ADB 需要使用带有证书的 Oracle 钱包来支持 TCPS 协议:您应该使用 TNSNAMES 连接别名,以及 Oracle 提供的所有连接规范。另外,请告诉我你没有发布实际的连接数据,用户名和密码,在你原来的问题...
标签: oracle go oracle-autonomous-db