密码Clickhouse驱动程序中的#

时间:2019-06-28 15:13:26

标签: go clickhouse

我使用this driver

如何发送密码?  如果困难的话 “ Dsd0 @ E)0#jsdpAS)DJD!)d0 @ * d”

  connect, err := sql.Open("clickhouse", "tcp://127.0.0.1:9000?username=default&password=Dsd0@*E)0#jsdpAS)DJD*!)d0@*d&database=database&read_timeout=10&write_timeout=20")

他们正确无误,但出现错误“ [193]用户默认密码错误”

1 个答案:

答案 0 :(得分:2)

第二个参数是URL(在这种情况下通常称为DSN),因此毫无疑问,您必须对该参数进行URL编码。

使用url.URLurl.Values类型以可靠的方式构建URL:

q := make(url.Values)
q.Set("username", "default")
q.Set("password", `Dsd0@*E)0#jsdpAS)DJD*!)d0@*d`)
q.Set("database", "database")
q.Set("read_timeout", "10")
q.Set("write_timeout", "20")

dsn := (&url.URL{
    Scheme:   "tcp",
    Host:     "127.0.0.1:9000",
    RawQuery: q.Encode(),
}).String()

connect, err := sql.Open("clickhouse", dsn)

现在去更改您的密码!