pub fn escape_attribute_value(unescaped: &str) -> Cow<'_, str>
Expand description
You can use this method to escape a password so it is suitable to be appended to an ODBC
connection string as the value for the PWD
attribute. This method is only of interest for
application in need to create their own connection strings.
See:
- https://stackoverflow.com/questions/22398212/escape-semicolon-in-odbc-connection-string-in-app-config-file
- https://docs.microsoft.com/en-us/dotnet/api/system.data.odbc.odbcconnection.connectionstring
ยงExample
use odbc_api::escape_attribute_value;
let password = "abc;123}";
let user = "SA";
let mut connection_string_without_credentials =
"Driver={ODBC Driver 18 for SQL Server};Server=localhost;";
let connection_string = format!(
"{}UID={};PWD={};",
connection_string_without_credentials,
user,
escape_attribute_value(password)
);
assert_eq!(
"Driver={ODBC Driver 18 for SQL Server};Server=localhost;UID=SA;PWD={abc;123}}};",
connection_string
);
use odbc_api::escape_attribute_value;
assert_eq!("abc", escape_attribute_value("abc"));
assert_eq!("ab}c", escape_attribute_value("ab}c"));
assert_eq!("{ab;c}", escape_attribute_value("ab;c"));
assert_eq!("{a}}b;c}", escape_attribute_value("a}b;c"));
assert_eq!("{ab+c}", escape_attribute_value("ab+c"));