我想知道当这两个驱动程序具有相同名称时,是否有一种方法或投影模式能够在运行时在 Golang 中选择 SQL 驱动程序。我想使用环境变量在 HTTP ClickHouse 驱动程序 ( https://github.com/mailru/go-clickhouse ) 和本机 TCP ClickHouse 驱动程序 ( https://github.com/ClickHouse/clickhouse-go ) 之间切换。import(//HTTP driver_ "github.com/mailru/go-clickhouse")func getHttpCHConnection() (*sql.DB, error) { ... db, err := sql.Open("clickhouse", clkConnUrl)import(//Native driver_ "github.com/ClickHouse/clickhouse-go")func getNativeCHConnection() (*sql.DB, error) { ... db, err := sql.Open("clickhouse", clkConnUrl)通常,它会导致“恐慌:sql:为驱动程序 clickhouse 调用两次注册”。有可能避免这种情况吗?
1 回答

牧羊人nacy
TA贡献1862条经验 获得超7个赞
由于 mailru/go-clickhouse 的第 2 版可以同时使用它们,作者已将驱动程序名称更改为chhttp
:https ://github.com/mailru/go-clickhouse/issues/151
- 1 回答
- 0 关注
- 137 浏览
添加回答
举报
0/150
提交
取消