Пробел в строке подключения
Я пытаюсь подключиться к базе данных сервера SQL с помощью ADO. Пароль содержит пробел в качестве последнего символа. При создании строки подключения, как я должен экранировать пароль?
MSDN говорит, поместите его в одинарные или двойные кавычки, но это, похоже, не работает...
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx
Вот как выглядит моя строка подключения:
Provider=SQLOLEDB;Persist Security Info=False;Initial Catalog=master;Data Source=test;uid=john;pwd="123 "
Спасибо
1 ответ
Решение
Я могу сказать вам, что работает:
Provider=SQLOLEDB;Password="123 ";Persist Security Info=True;User ID=john;Initial Catalog=mydbname;Data Source=127.0.0.1
- когда
pwd
ключевое слово используется вместоPassword
не удается подключиться - вам нужно использоватьPassword
ключевое слово, которое должно быть заключено в двойные кавычки. uid
вместоUser ID
работает просто отлично - Id'e все еще используютUser ID
потому что построитель соединений создает его по умолчанию.Persist Security Info
Ключевое слово (упомянутое в одном из комментариев) не влияет на соединение - как хорошо заметил @TLama:"Вы можете подключиться, но вы не получите пароль отIDBProperties
интерфейс, если вы держите его False."- Порядок ключевых слов в строке подключения не важен.
IDBProperties
Интерфейс анализирует эту строку во внутренней коллекции "Свойства"
Протестировано с SQL Server 2008 R2.