Прямо сейчас я обновляю строку подключения 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 поддерживает экранирование этих символов, если они заключены в фигурные скобки. Например, {;} экранирует точку с запятой. Экранированные значения могут содержать специальные символы (особенно '=', ';', '[]' и пробел), но не могут содержать фигурные скобки. Значения, которые должны быть экранированы и содержат фигурные скобки, должны быть добавлены в коллекцию свойств.