# в драйвере Password clickhouse

Я использую этот драйвер

как отправить пароль? Если сложно "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] Неверный пароль для пользователя по умолчанию»


person valera    schedule 28.06.2019    source источник


Ответы (1)


Второй параметр — это URL-адрес (в данном контексте его часто называют DSN), поэтому неудивительно, что вы должны кодировать этот параметр в URL-адресе.

Используйте url.URL и url.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)

А теперь иди и смени пароль!

person Peter    schedule 28.06.2019