У меня есть пароль, который я не могу изменить, и в нем есть знак равенства. При использовании OdbcConnectionStringBuilder
это работает для паролей, которые не имеют знака равенства, но когда я делаю это, экранирует переменную. Это работает,
builder.DataSourceName = "SERVER";
builder.DatabaseFile = "THISSERV";
builder.UserID = "DBA";
builder.Password = "XU5%^YhZ";
И выдает следующую строку подключения
"UserID=DBA;Password=XU5%^YhZ;DatabaseFile=THISSERV;DataSourceName=SERVER"
Однако, если поставить знак равенства
builder.DataSourceName = "SERVER";
builder.DatabaseFile = "THISSERV";
builder.UserID = "DBA";
builder.Password = "XU5%^Yh=Z";
Создает следующую строку подключения с экранированным паролем.
"UserID=DBA;Password=\"XU5%^Yh=Z\";DatabaseFile=THISSERV;DataSourceName=SERVER"
Как я могу избежать этого? Предыдущий пример верен, но в моем приложении я также дешифрую пароль, который не влияет ни на что, если нет равных, я попытался поместить @ перед StringCipher, но это не сработало. Это выглядело бы так, если бы первый аргумент был переменной.
builder.Password = StringCipher.Decrypt("0jURE7f9aTOItD5tgl9E6YoBKhMRaxDVj1KfS0SJ/ZBxIKVVbVYZXHMKgndI", "JlkIUJdfolsdff352345rf")