Пробел в параметрах строки подключения к хранилищу данных SQL Azure.

Прямо сейчас я обновляю строку подключения JDBC в своем хранилище данных SQL Azure до новых спецификаций, в частности, добавляя к ней следующее: Application Name=MyApp.

Вот моя проблема. Я подключаюсь к своему серверу, используя следующую строку:

jdbc:sqlserver://localhost:1234;database=mydb;encrypt=true;trustServerCertificate=true;

Если я добавлю имя приложения в свою строку, оно станет следующим:

jdbc:sqlserver://localhost:1234;database=mydb;encrypt=true;trustServerCertificate=true;Application Name=MyApp

Видите пробел между Application и Name?

У меня вопрос - это правильно? И нужно ли мне кодировать это пространство чем-то вроде %20?

Нигде в документах Microsoft не упоминается об этой необходимости, если строка подключения является URL-адресом.

РЕДАКТИРОВАТЬ 1: я нашел что-то вроде строк подключения JDBC, но не указывает никаких параметров, которые могут содержать пробелы: https://azure.microsoft.com/en-us/documentation/articles/sql-data-warehouse-connect-overview/

РЕДАКТИРОВАТЬ 2: нашел это здесь

Экранирование значений в URL-адресе подключения Возможно, вам придется экранировать некоторые части значений URL-адреса подключения из-за включения специальных символов, таких как пробелы, точки с запятой и кавычки. Драйвер JDBC поддерживает экранирование этих символов, если они заключены в фигурные скобки. Например, {;} экранирует точку с запятой. Экранированные значения могут содержать специальные символы (особенно '=', ';', '[]' и пробел), но не могут содержать фигурные скобки. Значения, которые должны быть экранированы и содержат фигурные скобки, должны быть добавлены в коллекцию свойств.


person theGreenCabbage    schedule 25.10.2016    source источник


Ответы (1)


Вам не нужно добавлять escape-символы для свойства имени приложения. Комментарии об экранировании относятся к компоненту URL вашей строки подключения, а не ко всей строке подключения.

Однако я считаю, что вам все равно следует использовать ApplicationName в качестве значения свойства.

person Matt Usher    schedule 25.10.2016
comment
Да, вы правы, по крайней мере, для Azure SQL. Знаете ли вы, то же самое можно сказать и о Azure SQL DW? Кроме того, как проверить в Azure SQL DW, правильно ли задано имя приложения? - person theGreenCabbage; 26.10.2016