Пробел в строке подключения

Я пытаюсь подключиться к базе данных сервера 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
  1. когдаpwdключевое слово используется вместоPasswordне удается подключиться - вам нужно использовать Password ключевое слово, которое должно быть заключено в двойные кавычки.
  2. uidвместоUser IDработает просто отлично - Id'e все еще используютUser ID потому что построитель соединений создает его по умолчанию.
  3. Persist Security InfoКлючевое слово (упомянутое в одном из комментариев) не влияет на соединение - как хорошо заметил @TLama:"Вы можете подключиться, но вы не получите пароль от IDBPropertiesинтерфейс, если вы держите его False."
  4. Порядок ключевых слов в строке подключения не важен. IDBProperties Интерфейс анализирует эту строку во внутренней коллекции "Свойства"

Протестировано с SQL Server 2008 R2.

Другие вопросы по тегам