gorm 连接sqlserver数据库密码包含"@"连接不上怎么解决?

密码中包含"@"
例如,连接不上数据库,怎么解决

sqlserver://xiangyi:xiayi3601@@49.294.216.37:1433?database=xydb
阅读 10.4k
3 个回答

采用分列参数建立连接字符串,不要写一起:

 connectionString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d;database=%s",
                                        server, user, password, port, database)
    db, err := gorm.Open("mssql", connectionString)

参见:

https://sqlchoice.azurewebsit...

URL encoding usually.

for details, see Document.

官方解释到:“密码可以包含任何字符。转义是没有必要的。”,所以包含@的密码也是有效的,应该是其他问题造成无法连接,检查一下。

推荐问题