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

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

sqlserver://xiangyi:xiayi3601@@49.294.216.37:1433?database=xydb
阅读 10.1k
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.

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题