Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Обычно URL-адреса соединения выглядят следующим образом:
jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
Где:
jdbc:sqlserver:// (обязательно) — называется подпротоколом и является константой.
имя _сервера (необязательно) — адрес сервера для подключения. Этот адрес может быть DNS или IP-адрес, или он может быть
localhostили127.0.0.1для локального компьютера. Имя сервера необходимо указать в коллекции свойств, если оно не указано в URL-адресе соединения.instanceName (необязательно) — это имя экземпляра, к которому необходимо подключиться на
serverName. Если этот параметр не указан, драйвер подключается к экземпляру по умолчанию.portNumber (необязательно) — порт для подключения к
serverName. Значение по умолчанию —1433. Если вы используете порт по умолчанию, вам не нужно указывать порт, ни предыдущий:в URL-адресе.Примечание.
Для оптимальной производительности подключения установите
portNumber, когда подключаетесь к именованному экземпляру. Это позволяет избежать кругового пути к серверу, чтобы определить номер порта. Если вы используете какportNumber, так иinstanceName, тоportNumberимеет приоритет, иinstanceNameигнорируется.свойство (необязательно) — это одно или несколько опционных свойств подключения. Дополнительные сведения см. в статье о настройке свойств подключения. Можно указать любое свойство из списка. Свойства можно разделять только с помощью точки с запятой (
;), и их нельзя дублировать.
Внимание
В целях безопасности не рекомендуется составлять URL-адрес соединения на основе данных пользователей. В URL-адресе необходимо указывать только имя сервера и драйвер. Для указания значений имени пользователя и пароля следует использовать коллекции свойств соединения. Дополнительные сведения о безопасности в приложениях JDBC см. в статье Защита приложений JDBC Driver.
Свойства подключения
Подробный список свойств, которые можно установить в строке подключения, см. в разделе Установка свойств подключения.
Примеры подключений
Подключитесь к базе данных по умолчанию на локальном компьютере с помощью имени пользователя и пароля:
jdbc:sqlserver://localhost;encrypt=true;user=MyUserName;password=<password>;
Примечание.
Хотя в предыдущем примере используется имя пользователя и пароль в строка подключения, следует использовать встроенную безопасность, так как она более безопасна. Дополнительные сведения см. в разделе "Подключение с интегрированной проверкой подлинности" далее в этой статье.
Пример строки подключения показывает, как подключиться к базе данных SQL Server с использованием встроенной аутентификации и Kerberos из приложения, работающего в любой операционной системе, поддерживаемой драйвером Microsoft JDBC для SQL Server.
jdbc:sqlserver://;servername=server_name;encrypt=true;integratedSecurity=true;authenticationScheme=JavaKerberos
Подключитесь к базе данных по умолчанию на локальном компьютере с помощью встроенной проверки подлинности:
jdbc:sqlserver://localhost;encrypt=true;integratedSecurity=true;Подключитесь к именованной базе данных на удаленном сервере:
jdbc:sqlserver://localhost;encrypt=true;databaseName=AdventureWorks;integratedSecurity=true;Подключитесь к удаленному серверу с использованием порта по умолчанию:
jdbc:sqlserver://localhost:1433;encrypt=true;databaseName=AdventureWorks;integratedSecurity=true;Подключитесь, указав настраиваемое имя приложения:
jdbc:sqlserver://localhost;encrypt=true;databaseName=AdventureWorks;integratedSecurity=true;applicationName=MyApp;
Именованные и множественные экземпляры SQL Server
SQL Server позволяет устанавливать несколько экземпляров базы данных на сервер. Каждый экземпляр имеет определенное имя. Для подключения к именованному экземпляру SQL Server можно указать номер порта именованного экземпляра (предпочтительно). Можно также указать имя экземпляра как свойство URL-адреса JDBC или свойство источника данных. Если имя экземпляра или свойство номера порта не указано, драйвер создает подключение к экземпляру по умолчанию. См. следующие примеры.
Чтобы указать номер порта, используйте следующий формат:
jdbc:sqlserver://localhost:1433;encrypt=true;integratedSecurity=true;<more properties as required>;Чтобы использовать свойство URL-адреса JDBC, используйте следующий формат:
jdbc:sqlserver://localhost;encrypt=true;instanceName=instance1;integratedSecurity=true;<more properties as required>;
Экранирование значений в URL-адресе подключения
Может потребоваться экранировать определенные части значений URL-адреса соединения, если значения содержат специальные символы, такие как пробелы, точки с запятыми и кавычки. Драйвер JDBC поддерживает экранирование этих символов, заключая их в скобки. Например, {;} экранирует точку с запятой.
До версии 8.4 escape-значения могут содержать специальные символы (особенно =, ;и []пробел), но не могут содержать фигурные скобки. Значения, которые необходимо преобразовать, и значения, содержащие скобки, следует добавить к коллекции свойств.
В версии 8.4 и более поздних экранированные значения могут содержать специальные символы, включая фигурные скобки. Однако закрывающие фигурные скобки должны быть экранированы. Например, при использовании пароля pass";{}word в строке подключения необходимо будет экранировать пароль следующим образом:
jdbc:sqlserver://localhost;encrypt=true;username=MyUsername;password={pass";{}}word};
Примечание.
Пробелы внутри скобок воспринимаются как часть текста и не удаляются.
Подключение с интегрированной проверкой подлинности в Windows
Драйвер JDBC поддерживает использование встроенной проверки подлинности типа 2 в операционных системах Windows с использованием свойства строки подключения integratedSecurity. Чтобы использовать встроенную проверку подлинности, скопируйте mssql-jdbc_auth-<version>-<arch>.dll файл в любой каталог, включенный в переменную системной PATH среды Windows.
Примечание.
Библиотека DLL не должна находиться в том же каталоге, что и JAR-файл драйвера JDBC. Он должен быть в каталоге, указанном в системе PATH, например C:\Windows\System32 или в пользовательском каталоге, который вы добавили в PATH.
Файлы mssql-jdbc_auth-<version>-<arch>.dll устанавливаются в следующем расположении:
<installation directory>\sqljdbc_<version>\<language>\auth\
Сведения о любой операционной системе, поддерживаемой драйвером Microsoft JDBC для SQL Server, см. в статье "Использование интегрированной проверки подлинности Kerberos для подключения к SQL Server " для описания функции, добавленной в Microsoft JDBC Driver 4.0 для SQL Server, которая позволяет приложению подключаться к базе данных с помощью интегрированной проверки подлинности с типом 4 Kerberos.
Примечание.
Если вы используете 32-разрядную виртуальную машину Java (JVM), используйте mssql-jdbc_auth-<version>-<arch>.dll файл в папке x86, даже если операционная система является версией x64. Если вы используете 64-разрядную виртуальную машину JVM на процессоре x64, используйте mssql-jdbc_auth-<version>-<arch>.dll файл в папке x64.
Кроме того, можно задать системное свойство java.library.path, чтобы указать каталог объекта mssql-jdbc_auth-<version>-<arch>.dll. Например, если вы установили драйвер JDBC в каталоге по умолчанию, можно указать расположение библиотеки DLL с помощью следующего аргумента виртуальной машины при запуске приложения Java:
-Djava.library.path=C:\Microsoft JDBC Driver 6.4 for SQL Server\sqljdbc_<version>\enu\auth\x86
Подключение с помощью IPv6-адресов
Драйвер JDBC поддерживает использование IPv6-адресов с коллекцией свойств подключения и свойством строки подключения serverName. Начальное serverName значение, например jdbc:sqlserver://serverName, не поддерживается для IPv6-адресов в строке подключения. Использование имени для serverName вместо первоначального IPv6-адреса работает во всех случаях подключения. Следующие примеры можно использовать как дополнительные источники сведений.
Использование свойства serverName
jdbc:sqlserver://;serverName=3ffe:8311:eeee:f70f:0:5eae:10.203.31.9\\instance1;encrypt=true;integratedSecurity=true;Использование коллекции свойств
Properties pro = new Properties();pro.setProperty("serverName", "serverName=3ffe:8311:eeee:f70f:0:5eae:10.203.31.9\\instance1");Connection con = DriverManager.getConnection("jdbc:sqlserver://;encrypt=true;integratedSecurity=true;", pro);