Allowed character for SQL Server CE password?

不问归期 提交于 2019-12-10 10:26:59

问题


In a web application we develop we generate SQL Server CE database files and for those we also generate passwords. The passwords are generated using System.Web.Security.Membership.GeneratePassword().

I assumed that GeneratePassword generated suitable password strings since it uses letters, digits and symbols. On http://msdn.microsoft.com/en-us/library/aa257373(v=sql.80).aspx I find a vague statement that SQL Server CE passwords "Can contain letters, symbols, digits, or a combination."

But today a password was generated that made it impossible to create the database because the connection string apparently had invalid characters. "&" to be precise.

I've searched the net for a complete list of characters to make a white-list cleaning function, but cannot find any such info.

Does anyone have such a list of valid characters for SQL Server CE passwords?


回答1:


I ended up having to make my own simple password generator. Blogged HERE

Looks like you have an XML issue. XML (or web.config) special characters are:

  1. quot "
  2. amp &
  3. apos '
  4. lt <
  5. gt >

Also, if used in an OLE DB or ODBC connection string, a login or password must not contain the following characters: [] {}() , ; ? * ! @.

Also, if you are requiring strong passwords they must contains characters from at least three of the following categories:

  1. English uppercase characters (A through Z)
  2. English lowercase
  3. characters (a through z) Base 10 digits (0 through 9) Nonalphabetic
  4. characters (for example: !, $, #, %)



回答2:


I wonder whether you need to use an escaped character for the ampersand.



来源:https://stackoverflow.com/questions/5043734/allowed-character-for-sql-server-ce-password

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!