【问题标题】:How to connect SSL on Hana DB - SAP [SQL Error 4321 - only secure connections are allowed]如何在 Hana DB 上连接 SSL - SAP [SQL 错误 4321 - 只允许安全连接]
【发布时间】:2020-03-01 01:12:47
【问题描述】:

按照链接SAP - Go (golang) Support a 制作了以下代码:

package main

import (
    "database/sql"
    _ "github.com/SAP/go-hdb/driver"
    "log"
)

const (
    driverName = "hdb"
    hdbDsn     = "hdb://user:password@hostname:port"
)

func main() {

    db, err := sql.Open(driverName, hdbDsn)

    if err != nil {
        log.Print("error on sql open => " ,err)
    }

    err = db.Ping()

    if err != nil {
        log.Print("error on db.Ping() => " ,err)
    }

}

但我有以下问题:

2019/11/04 14:59:24 error on db.Ping() => SQL Error 4321 - only secure connections are allowed

我也试过这个:

hdbDsn     = "hdb://user:password@hostname:port?encrypt=true"

但无法连接到 Hana 数据库。

有人可以帮助我吗?

【问题讨论】:

  • @Flimzy 怎么做?你知道 Hana 数据库吗?因为 SAP Hana 数据库不同于其他数据库 =/
  • 您实际上是在使用"hdb://user:password@hostname:port",还是用您自己的用户名、密码、主机和端口替换?
  • 我已经用我的真实值替换了主机、用户、密码和端口。我使用 Dbeaver 连接的值。

标签: go sap hana


【解决方案1】:

纯 Go HANA SQL 客户端库很可能不支持加密(类似于纯 Python 客户端)。您应该使用官方 HANA go 客户端 (https://help.sap.com/viewer/0eec0d68141541d1b07893a39944924e/2.0.04/en-US/0ffbe86c9d9f44338441829c6bee15e6.html) 并设置连接属性:

  • 加密=真
  • validateCertificate=false

【讨论】:

  • 我用的是官方的hana go客户端。但是 encrypt=true 不起作用。
【解决方案2】:

经过大量测试,我发现了这个姑息性解决方案:

package main

import (
    "crypto/tls"
    "database/sql"
    "github.com/SAP/go-hdb/driver"
    _ "github.com/SAP/go-hdb/driver"
    "log"
)

const (
    HOST     = "host"
    PORT     = ":port"
    USERNAME = "user"
    PASSWORD = "password"
)

func main() {
    c := driver.NewBasicAuthConnector(
        HOST+PORT,
        USERNAME,
        PASSWORD)

    tlsConfig := tls.Config{
        InsecureSkipVerify: false,
        ServerName:         HOST,
    }

    c.SetTLSConfig(&tlsConfig)

    db := sql.OpenDB(c)

    var id int
    var name string
    res := db.QueryRow("SELECT * FROM SCHEMA.TABLE LIMIT 1")

    res.Scan(&id, &name)

    log.Println("res ", id, name)

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多