{"action":"created","issue":{"url":"https://api.github.com/repos/denisenkom/go-mssqldb/issues/169","repository_url":"https://api.github.com/repos/denisenkom/go-mssqldb","labels_url":"https://api.github.com/repos/denisenkom/go-mssqldb/issues/169/labels{/name}","comments_url":"https://api.github.com/repos/denisenkom/go-mssqldb/issues/169/comments","events_url":"https://api.github.com/repos/denisenkom/go-mssqldb/issues/169/events","html_url":"https://github.com/denisenkom/go-mssqldb/issues/169","id":178205574,"number":169,"title":"SQL Server usernames and passwords with certain characters fail","user":{"login":"tartale","id":9323250,"avatar_url":"https://avatars.githubusercontent.com/u/9323250?v=3","gravatar_id":"","url":"https://api.github.com/users/tartale","html_url":"https://github.com/tartale","followers_url":"https://api.github.com/users/tartale/followers","following_url":"https://api.github.com/users/tartale/following{/other_user}","gists_url":"https://api.github.com/users/tartale/gists{/gist_id}","starred_url":"https://api.github.com/users/tartale/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tartale/subscriptions","organizations_url":"https://api.github.com/users/tartale/orgs","repos_url":"https://api.github.com/users/tartale/repos","events_url":"https://api.github.com/users/tartale/events{/privacy}","received_events_url":"https://api.github.com/users/tartale/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":13,"created_at":"2016-09-20T23:19:25Z","updated_at":"2016-12-08T19:48:45Z","closed_at":null,"body":"SQL Server allows for most characters in the username and password.  However, if a user changes their username and/or password to any of the following cases:\n- Contains a semi-colon\n- Starts with a space\n- Ends with a space\n\nThen any access from a Go program using this library will fail with this error:\n`Login error: mssql: Login failed for user 'xyz'.`\n"},"comment":{"url":"https://api.github.com/repos/denisenkom/go-mssqldb/issues/comments/265836564","html_url":"https://github.com/denisenkom/go-mssqldb/issues/169#issuecomment-265836564","issue_url":"https://api.github.com/repos/denisenkom/go-mssqldb/issues/169","id":265836564,"user":{"login":"arsing","id":5431382,"avatar_url":"https://avatars.githubusercontent.com/u/5431382?v=3","gravatar_id":"","url":"https://api.github.com/users/arsing","html_url":"https://github.com/arsing","followers_url":"https://api.github.com/users/arsing/followers","following_url":"https://api.github.com/users/arsing/following{/other_user}","gists_url":"https://api.github.com/users/arsing/gists{/gist_id}","starred_url":"https://api.github.com/users/arsing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arsing/subscriptions","organizations_url":"https://api.github.com/users/arsing/orgs","repos_url":"https://api.github.com/users/arsing/repos","events_url":"https://api.github.com/users/arsing/events{/privacy}","received_events_url":"https://api.github.com/users/arsing/received_events","type":"User","site_admin":false},"created_at":"2016-12-08T19:48:45Z","updated_at":"2016-12-08T19:48:45Z","body":"We're interested in getting this fixed since we're using this driver at work, and would like to have passwords with semi-colons, etc work.\r\n\r\nWill you be interested in accepting a PR that adds support for parsing the ODBC format (values wrapped in `{}`) ?\r\n\r\nSwitching to ODBC parsing mode completely will be a breaking change since it'll change how `{}` are interpreted. How would you like that resolved? If the breaking change is undesirable, one idea is to prepend `\"odbc://\"` to the connection string to opt in to ODBC parsing mode.\r\n\r\nRegarding the difficulty of constructing such an escaped string in user code - it could be possible to expose an API that takes in a `ConnectionParameters` struct and generates a connection string for use with `sql.Open` ?"}}
{"actor":{"display_login":"arsing"}}