Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Свойства строки подключения могут быть заданы различными способами.
В качестве свойств 'имя=значение' в URL-адресе подключения при подключении с помощью класса DriverManager. Синтаксис строки подключения описан в разделе Создание URL-адреса подключения.
В качестве свойств имя=значение в параметре Свойстваметода Connect в классе DriverManager.
С помощью аргумента соответствующего метода задания свойств источника данных драйвера. Например:
datasource.setServerName(value) datasource.setDatabaseName(value)
Замечания
В именах свойств не учитывается регистр символов. Дублирующиеся имена свойств разрешаются в следующем порядке:
- аргументы API (например, имя пользователя и пароль);
- Коллекция свойств
- Последний экземпляр в строке подключения
Неизвестные значения разрешены для имен свойств, а драйвер JDBC не проверяет конфиденциальность регистра.
Допускается использование синонимов, которые обрабатываются в порядке очереди, как и повторяющиеся имена свойств.
Свойства
В следующей таблице перечислены все доступные на данный момент свойства строки подключения для драйвера JDBC.
Свойство Тип По умолчанию. |
Описание |
---|---|
accessToken Строка null |
(Начиная с версии 6.0) Используйте это свойство для подключения к базе данных, используя маркер доступа. accessToken нельзя задать с помощью URL-адреса подключения. |
accessTokenCallbackClass (класс обратного вызова токена доступа) Строка null |
(Версия 12.4+) Имя класса, реализующего обратный вызов, который будет использоваться с токеном доступа. |
намерение приложения Строка Чтение и запись |
(Начиная с версии 6.0) Объявляет тип рабочей нагрузки приложения для соединения с сервером. Возможные значения — ReadOnly и ReadWrite. Дополнительные сведения об аварийном восстановлении см. в статье о поддержке высокой доступности и аварийного восстановления в JDBC Driver. |
ИмяПриложения Строка [<=128 символов] null |
Имя приложения или "Microsoft JDBC Driver for SQL Server", если имя не указано. Используется для идентификации определенного приложения в различных средствах профилирования и ведения журнала SQL Server. |
проверка подлинности Строка Не указано |
(Начиная с версии 6.0) Это необязательное свойство указывает, какой метод проверки подлинности использовать для соединения. Возможные значения: ActiveDirectoryIntegrated, ActiveDirectoryPassword, ActiveDirectoryManagedIdentity (версия 12.2+), ActiveDirectoryMSI (версия 7.2+), ActiveDirectoryInteractive (версия 9.2+), ActiveDirectoryServicePrincipal (версия 9.2+), SqlPassword и по умолчанию NotSpecified. Используйте ActiveDirectoryIntegrated (версия 6.0+) для подключения к SQL Server с помощью интегрированной проверкой подлинности Windows. Используйте ActiveDirectoryPassword (версия 6.0+) для подключения к SQL с помощью имени пользователя и пароля Microsoft Entra. Используйте ActiveDirectoryManagedIdentity (версия 12.2+) или ActiveDirectoryMSI (версия 7.2+) для подключения к SQL из ресурса Azure. Например, виртуальная машина Azure, служба приложений или функциональное приложение с управляемой проверкой подлинности. Два типа управляемых удостоверений, которые поддерживаются драйвером при использовании режима проверки подлинности ActiveDirectoryManagedIdentity или ActiveDirectoryMSI: 1. Назначаемое системой управляемое удостоверение: используется для получения accessToken по умолчанию. 2. Управляемая идентификация, назначенная пользователем: используется для получения accessToken, если идентификатор клиента управляемой идентификации указан в свойстве подключения msiClientId. Используйте ActiveDirectoryInteractive для подключения к базе данных с помощью интерактивного потока проверки подлинности. Используйте ActiveDirectoryServicePrincipal (версия 9.2+) для подключения к базе данных с помощью идентификатора клиента и секрета служебного субъекта. Укажите идентификатор клиента в свойстве userName и секрет в свойстве password (версия 10.2 и выше). Используйте SqlPassword для подключения к SQL с помощью свойств userName/user и password. Используйте NotSpecified, если ни один из этих методов проверки подлинности не требуется. Внимание! Если в параметрах проверки подлинности задано значение ActiveDirectoryIntegrated, необходимо установить следующие две библиотеки: mssql-jdbc_auth-<version>-<arch>.dll (доступна в пакете драйвера JDBC) и библиотеку проверки подлинности Майкрософт для SQL Server (ADAL.DLL). Библиотеку проверки подлинности Майкрософт можно установить через Microsoft ODBC Driver for SQL Server или Microsoft OLE DB Driver for SQL Server. Для ADAL.DLL драйвер JDBC поддерживает только версию 1.0.2028.318 и выше. Примечание. Если для свойства проверки подлинности задано любое значение, отличное от NotSpecified, драйвер по умолчанию использует шифрование Transport Layer Security (TLS), ранее называвшееся шифрованием Secure Sockets Layer (SSL). Сведения о настройке проверки подлинности Microsoft Entra см. в разделе "Использование проверки подлинности Microsoft Entra". |
схема аутентификации Строка NativeAuthentication |
Указывает, какой тип встроенной безопасности должен использоваться приложением. Возможные значения: JavaKerberos, NTLM (версия 7.4 и выше) и NativeAuthentication по умолчанию. NativeAuthentication заставляет драйвер в Windows загружать mssql-jdbc_auth-<version>-<arch>.dll (например, mssql-jdbc_auth-8.2.2.x64.dll ), который используется для получения данных встроенной проверки подлинности. (Загруженная собственная библиотека проверки подлинности называется sqljdbc_auth.dll при использовании драйверов версии 6.0–7.4.) При использовании authenticationScheme=JavaKerberos необходимо указать полное доменное имя в свойстве serverName или serverSpn. В противном случае возникает ошибка (сервер не найден в базе данных Kerberos). Дополнительные сведения об использовании authenticationScheme=JavaKerberos см. в руководстве по встроенной проверке подлинности Kerberos для подключения к SQL Server. При использовании authenticationScheme=NTLM необходимо указать домен Windows в свойстве domain или domainName, а также учетные данные Windows в свойствах user или userName и password. В противном случае возникает ошибка (необходимо указать свойства подключения). |
cacheBulkCopyMetadata boolean ["истина" | "ложь"] ложь |
(Версия 12.8+) При использовании useBulkCopyForBatchInsert=true это свойство используется для определения драйвера, следует ли кэшировать метаданные целевого столбца на уровне подключения. Если задано значение true , убедитесь, что назначение не изменяется между массовыми вставками, так как драйвер не имеет способа обработки этого изменения. |
calcBigDecimalPrecision boolean ["истина" | "ложь"] ложный |
(Версия 12.6+) Флаг, указывающий, должен ли драйвер вычислять точность для входных данных BigDecimal, а не использовать максимально допустимое значение для точности (38). |
cancelQueryTimeout инт -1 |
(Начиная с версии 6.4) Это свойство можно использовать для отмены queryTimeout, установленного на подключении. Выполнение запроса зависает и не вызывает исключение, если TCP-подключение к серверу удаляется без уведомления. Это свойство применимо, только если для соединения также задано значение queryTimeout. Драйвер ожидает общее количество секунд cancelQueryTimeout + queryTimeout, чтобы удалить подключение и закрыть канал. Значение этого свойства по умолчанию равно 1, а поведение имеет неограниченное время ожидания. |
клиентский сертификат Строка null |
(Начиная с версии 8.4) Указывает расположение сертификата, используемого для проверки подлинности сертификата клиента. Драйвер JDBC поддерживает расширения файлов PFX, PEM, DER и CER. Для получения более подробной информации см. Аутентификация клиентского сертификата для сценариев обратной связи. |
Ключ клиента Строка null |
(Начиная с версии 8.4) Указывает расположение закрытого ключа для сертификатов PEM, DER или CER, заданных атрибутом clientCertificate. Дополнительные сведения см. в статье Проверка подлинности сертификата клиента для локальных сценариев. |
пароль клиентского ключа Строка null |
(Начиная с версии 8.4) Задает необязательную строку пароля для доступа к закрытому ключу файла clientKey. Дополнительные сведения см. в статье Проверка подлинности сертификата клиента для локальных сценариев. |
настройкаШифрованияСтолбца Строка ["Включено" | "Выключено"] Отключено |
(Начиная с версии 6.0) Значение "Включено" позволяет использовать функцию Always Encrypted (AE). Когда функция Always Encrypted включена, драйвер JDBC прозрачно шифрует и расшифровывает конфиденциальные данные, хранящиеся в столбцах зашифрованной базы данных на сервере. Дополнительные сведения о функции Always Encrypted см. в статье Использование функции Always Encrypted с драйвером JDBC. Примечание. Функция Always Encrypted доступна в SQL Server 2016 или более поздних версий и Базе данных SQL Azure. |
Количество попыток переподключения INT [0..255] 1 |
(Для версий 9.4 и выше) Число повторных попыток подключения в случае сбоя соединения. |
connectRetryInterval INT [1..60] 10 |
(Для версий 9.4 и выше) Число секунд между попытками подключения. |
databaseName, база данных Строка [<=128 char] null |
Имя базы данных для соединения. Если не установлено, подключение выполняется к базе данных по умолчанию. |
тип параметра даты и времени Строка ["datetime" | "datetime2" | "datetimeoffset"] datetime2 |
(Версия 12.2+) Тип данных SQL, используемый для параметров метки даты и времени Java. При подключении к SQL Server 2016 или более поздней версии и взаимодействии с устаревшими значениями datetime клиентам может быть полезно установить свойство "datetime". Этот параметр устраняет проблемы с преобразованием на стороне сервера между значениями datetime и datetime2. Дополнительные сведения см. в статье "Изменение поведения преобразования из datetime в datetime2 начиная с SQL Server 2016" |
delayLoadingLobs boolean ["истина" | "ложь"] истинный |
Флаг, указывающий, следует ли передавать или не передавать все объекты LOB, извлекаемые из набора результатов. Если задать для этого свойства значение "false", весь объект LOB будет загружен в память без потоковой передачи. |
Имя домена домен Строка null |
(Начиная с версии 7.4) Домен Windows для аутентификации при использовании NTLM. |
disableStatementPooling boolean ["истина" | "ложь"] true |
Флаг, указывающий, следует ли использовать создание пула инструкций. |
enablePrepareOnFirst... PreparedStatementCall boolean ["истина" | "ложь"] ложь |
Задайте значение true, чтобы разрешить создание обработчика подготовленной инструкции путем вызова sp_prepexec при первом выполнении подготовленной инструкции. Задайте значение false, чтобы изменить первое выполнение подготовленной инструкции для вызова sp_executesql , а не подготовки инструкции. В случае второго выполнения выполняется вызов sp_prepexec для инициализации обработчика подготовленного выражения. |
enclaveAttestationUrl Строка null |
(Начиная с версии 8.2) Это необязательное свойство указывает URL-адрес конечной точки службы аттестации, который следует использовать для Always Encrypted с безопасными анклавами. Дополнительные сведения об Always Encrypted с безопасными анклавами см. в статье Always Encrypted с безопасными анклавами. |
enclaveAttestationProtocol Строка null |
(Начиная с версии 8.2+) Это необязательное свойство указывает протокол аттестации, который следует использовать для Always Encrypted с безопасными анклавами. В настоящее время для этого поля поддерживаются только такие значения: HGS, AAS и NONE (NONE поддерживается только в версии 11.2 и выше). Дополнительные сведения об Always Encrypted с безопасными анклавами см. в статье Always Encrypted с безопасными анклавами. |
шифрование Строка null |
Установите значение true, чтобы указать, что SQL Server использует шифрование TLS для всех данных, передаваемых между клиентом и сервером, при условии, что на сервере установлен сертификат. Значение по умолчанию — true в версии 10.2 и более поздних версиях и false в версии 9.4 и более ранних версий. В версии 6.0 и более поздних версий существует новый параметр подключения authentication, который использует шифрование TLS по умолчанию. Дополнительные сведения об этом свойстве см. в описании свойства authentication. В версии 11.2.0 и более поздних версий шифрование было изменено с логическогона строковое, что позволяет поддерживать TDS 8.0, если свойство задано как строгое. |
failoverPartner Строка null |
Имя резервного сервера, используемого в конфигурации зеркалирования базы данных. Это свойство используется при сбое начального подключения к основному серверу. После установления начального подключения это свойство игнорируется. Должен использоваться со свойством databaseName. Примечание. Драйвер не поддерживает номер порта экземпляра сервера для резервного экземпляра партнера в качестве свойства failoverPartner в строке подключения. Однако драйвер поддерживает указание свойств serverName, instanceName и portNumber для экземпляра основного сервера, а также свойства failoverPartner для экземпляра партнера отработки отказа в той же строке подключения. Если в свойстве подключения Server указано имя виртуальной сети, то использовать зеркальное отображение базы данных нельзя. Дополнительные сведения об аварийном восстановлении см. в статье о поддержке высокой доступности и аварийного восстановления в JDBC Driver. |
fips boolean ["истина" | "ложь"] ложь |
Свойство для виртуальной машины Java с поддержкой FIPS должно иметь значение true. |
fipsProvider Строка null |
Поставщик FIPS, настроенный в виртуальной машине Java. Например, BCFIPS или SunPKCS11-NSS. Удалено в версии 6.4.0. Дополнительные сведения см. в задаче GitHub 460. |
gsscredential org.ietf.jgss.GSSCredential null |
(Начиная с версии 6.2) В этом свойстве можно передать учетные данные пользователя, используемые для ограниченного делегирования Kerberos. Этот параметр следует использовать с интегрированной безопасностью как true и JavaKerberos как authenticationScheme. |
имя_узла_в_сертификате Строка null |
Имя узла, используемое для проверки TLS/SSL-сертификата SQL Server. Параметр hostNameInCertificate можно использовать для указания имени узла в ситуациях, когда имя или имена, используемые в сертификате, не совпадают с именем, переданным свойству serverName . Если есть совпадение, параметр hostNameInCertificate не должен использоваться. В ситуациях, когда свойство hostNameInCertificate не указано или имеет значение NULL, драйвер Microsoft JDBC для SQL Server использует значение свойства serverName в URL-адресе подключения в качестве имени узла для проверки SSL-сертификата SQL Server. Примечание. Как описано в предыдущем абзаце, не рекомендуется задавать параметр hostNameInCertificate , если вы не сможете подтвердить имя или имена, в сертификате не совпадают с этими именами, переданными в параметре serverName . Примечание. Это свойство используется в сочетании со свойствами шифрования/проверки подлинности и свойством trustServerCertificate. Это свойство влияет на проверку сертификата, если соединение использует шифрование TLS и trustServerCertificate имеет значение false. Для успешного установления TLS-подключения передаваемое значение в hostNameInCertificate должно совпадать с общим именем (CN) или именем DNS в поле "Альтернативное имя субъекта" сертификата сервера. Дополнительные сведения о поддержке шифрования см. в разделе Основные сведения о поддержке шифрования. |
instanceName Строка [<=128 символов] null |
Имя экземпляра базы данных, к которому производится подключение. Если не задано, подключение выполняется к экземпляру по умолчанию. В случае, когда указаны оба параметра: instanceName и порт, см. примечания к порту. Если в свойстве подключения Server указано имя виртуальной сети, то использовать свойство подключения instanceName нельзя. Дополнительные сведения об аварийном восстановлении см. в статье о поддержке высокой доступности и аварийного восстановления в JDBC Driver. |
интегрированная безопасность boolean ["истина" | "ложь"] ложный |
Установите значение true, чтобы указать, что учетные данные Windows используются SQL Server на операционных системах Windows. Если установлено значение "true", драйвер JDBC выполняет поиск учетных данных, которые были предоставлены при входе пользователя в сеть или на компьютер, в локальном кэше учетных данных компьютера. Установите значение true (с помощью authenticationscheme=JavaKerberos), чтобы указать, что учетные данные Kerberos используются SQL Server. Дополнительные сведения о проверке подлинности Kerberos см. в статье Использование встроенной проверки подлинности Kerberos для подключения к SQL Server. Установите значение true (с помощью authenticationscheme=NTLM), чтобы указать, что учетные данные NTLM используются SQL Server. Если установлено значение false, необходимо предоставить имя пользователя и пароль. |
предпочтительный IP-адрес Строка [<=128 char] IPv4First |
Предпочтительный тип IP-адресов, используемый клиентским приложением. При использовании IPV4First драйвер сначала проходит по IPv4-адресам. Если не удалось подключиться ни к одному IPv4-адресу, драйвер попытается использовать IPv6-адреса при их наличии. При использовании IPV6First драйвер сначала проходит по IPv6-адресам. Если не удалось подключиться ни к одному IPv6-адресу, драйвер попытается использовать IPv4-адреса при их наличии. При использовании UsePlatformDefault драйвер проходит по всем IP-адресам в их изначальном порядке, полученном из разрешения DNS. |
jaasConfigurationName Строка SQLJDBCDriver |
(версия 6.2+) Каждое подключение к SQL Server может использовать собственное имя конфигурации входа JAAS для установления подключения Kerberos. Имя записи конфигурации можно передать через это свойство. Это свойство предназначено для использования при создании файла конфигурации Kerberos. По умолчанию драйвер ищет имя SQLJDBCDriver .Если внешняя конфигурация не найдена, драйвер устанавливает useDefaultCcache = true для виртуальных машин IBM JVMs и useTicketCache = true для других виртуальных машин JVM. |
аутентификация через хранилище ключей Строка null |
(Начиная с версии 6.0) Это свойство определяет, какое хранилище ключей можно использовать с Always Encrypted, и определяет механизм проверки подлинности, используемый для проверки подлинности в хранилище ключей. Драйвер поддерживает беспроблемную настройку хранилища ключей Java, если установлено "keyStoreAuthentication = JavaKeyStorePassword". Для использования этого свойства необходимо также установить свойства keyStoreLocation и keyStoreSecret для хранилища ключей Java. Дополнительные сведения о функции Always Encrypted см. в статье Использование функции Always Encrypted с драйвером JDBC. Начиная с Microsoft JDBC Driver 8.4 можно задать keyStoreAuthentication=KeyVaultManagedIdentity или keyStoreAuthentication=KeyVaultClientSecret, чтобы выполнить проверку подлинности в Azure Key Vault с помощью управляемых удостоверений. Дополнительные сведения о функции Always Encrypted см. в статье Использование функции Always Encrypted с драйвером JDBC. |
Расположение хранилища ключей Строка null |
(Начиная с версии 6.0) Когда keyStoreAuthentication=JavaKeyStorePassword, свойство keyStoreLocation определяет путь к файлу хранилища ключей Java, в котором хранится основной ключ столбца, который будет использоваться с данными Always Encrypted. Путь должен включать имя файла хранилища ключей. Дополнительные сведения о функции Always Encrypted см. в статье Использование функции Always Encrypted с драйвером JDBC. |
keyStorePrincipalId Строка null |
(версия 8.4+) Если keyStoreAuthentication=KeyVaultManagedIdentity, свойство keyStorePrincipalId указывает допустимый идентификатор клиента приложения Microsoft Entra. Дополнительные сведения о функции Always Encrypted см. в статье Использование функции Always Encrypted с драйвером JDBC. |
keyStoreSecret Строка null |
(Начиная с версии 6.0) Когда keyStoreAuthentication=JavaKeyStorePassword, в свойстве keyStoreSecret указывается пароль, который будет использоваться для хранилища ключей и для ключа. Если используется хранилище ключей Java, хранилище ключей и пароль ключа должны совпадать. Дополнительные сведения о функции Always Encrypted см. в статье Использование функции Always Encrypted с драйвером JDBC. |
количество последних обновлений boolean ["истина" | "ложь"] true |
Значение true возвращает только последнее число обновлений из инструкции SQL, передаваемой серверу. Кроме того, он используется только для отдельных инструкций SELECT, INSERT или DELETE, чтобы игнорировать другие счетчики обновлений, которые являются триггерами сервера. Установка для этого свойства значения false влечет за собой возврат всех значений счетчика обновлений, включая изменения, вызванные триггерами сервера. Примечание. Это свойство применяется только при использовании с методами executeUpdate. Все другие методы выполнения возвращают все результаты и значения счетчика обновлений. Это свойство влияет только на значения счетчика обновлений, возвращаемые триггерами сервера. Оно не влияет на результирующие наборы или ошибки, возникшие в процессе выполнения триггеров. |
lockTimeout INT -1 |
Количество миллисекунд ожидания перед тем, как база данных сообщит об истечении времени ожидания блокировки. По умолчанию будет ожидание без ограничения времени. Если пользователь не указал значение этого свойства, это значение будет использоваться по умолчанию для всех инструкций подключения. Кроме того, Statement.setQueryTimeout() можно использовать чтобы задать время ожидания запроса для конкретных инструкций. Значение может быть равным 0 — время ожидания отсутствует. |
тайм-аут входа INT [0..65535] 30 (версия 11.2 и более поздние версии) 15 (версия 10.2 и ниже) |
Время в секундах, которое драйвер должен ожидать до истечения времени ожидания неудачного подключения. Нулевое значение указывает, что время ожидания по умолчанию совпадает с системным временем ожидания. Это значение равно 30 секунд (значение по умолчанию в версии 11.2 и выше) или 15 секунд (значение по умолчанию в версии 10.2 и ниже). Ненулевое значение — это количество секунд, которое драйвер должен ждать до истечения времени ожидания сбоя подключения. Если в свойстве подключения Server указано имя виртуальной сети, необходимо задать время ожидания не менее трех минут, чтобы дать возможность успешного подключения в случае отказа. Дополнительные сведения об аварийном восстановлении см. в статье о поддержке высокой доступности и аварийного восстановления в JDBC Driver. |
maxResultBuffer Строка null |
(Начиная с версии 9.2) С помощью maxResultBuffer можно задать максимальное число байтов для считывания из результирующего набора. Если этот параметр не указан, считывается весь результирующий набор. Размер можно указать двумя способами: 1. размер байтов (например, 100 , 150M , 300K , 400G )2. в процентах от максимальной кучи памяти (например, 10p , 15pct , 20percent ). |
msiClientId Строка null |
(Устарело) (Версия 7.2+) Идентификатор клиента управляемого удостоверения (MSI), используемый для получения accessToken с целью установления соединения в режиме проверки подлинности ActiveDirectoryManagedIdentity или ActiveDirectoryMSI. |
multiSubnetFailover Логический ложь |
Всегда указывайте multiSubnetFailover=true для подключения к прослушивателю группы доступности SQL Server или экземпляра отказоустойчивого кластера SQL Server.
multiSubnetFailover=true настраивает драйвер для ускоренного обнаружения активного (в данный момент) сервера и подключения к нему. Допустимые значения: true и false. Дополнительные сведения об аварийном восстановлении см. в статье о поддержке высокой доступности и аварийного восстановления в JDBC Driver. Доступ к свойству подключения multiSubnetFailover программным способом возможен через свойства getPropertyInfo, getMultiSubnetFailover и setMultiSubnetFailover. Примечание. Начиная с Microsoft JDBC Driver 6.0 для SQL Server больше не требуется устанавливать multiSubnetFailover в значение «true» для подключения к прослушивателю группы доступности. Новое свойство transparentNetworkIPResolution, включенное по умолчанию, обеспечивает обнаружение и подключение к (текущему) активному серверу. |
размер пакета INT [–1 | 0 | 512..32767] 8000 |
Размер (в байтах) сетевого пакета, используемого для обмена данными с сервером. Значение -1 указывает на использование размера сетевого пакета сервера по умолчанию. Значение 0 указывает на использование максимального значения 32767. Если этому свойству присвоено значение за пределами допустимого диапазона значений, возникнет исключение. Важно. Использование свойства packetSize при включении шифрования (encrypt=true) не рекомендуется. В противном случае драйвер может вызвать ошибку подключения. Дополнительные сведения об этом свойстве см. в описании метода setPacketSize класса SQLServerDataSource. |
пароль Строка [<=128 символов] null |
Пароль базы данных при подключении с помощью пользователя SQL и пароля. Для подключения по Kerberos с именем принципала и паролем это свойство устанавливается как пароль принципала Kerberos. (Начиная с версии 10.2) Когда authentication=ActiveDirectoryServicePrincipal, в свойстве password указывается пароль для субъекта Active Directory. |
номер порта порт INT [0..65535] 1433 |
Порт, на котором сервер слушает. Если номер порта задан в строке подключения, запросы к SQLbrowser не выполняются. В случае, когда указан порт и instanceName, подключение выполняется к указанному порту. Однако выполняется проверка instanceName, и если значение этого параметра не соответствует порту, возникает ошибка. Внимание! Рекомендуется всегда указывать номер порта, так как это более безопасно, чем использование SQLbrowser. |
методПодготовки строка ["prepexec" | "Подготовка"] prepexec |
(Версия 11.2.0 и выше) Определяет, какой базовый метод подготовки драйвер будет использовать с подготавливаемыми инструкциями. Задайте значение prepare, чтобы использовать sp_prepare в качестве метода подготовки. Установка prepareMethod этого значения приводит к отдельному начальному запросу к базе данных, чтобы подготовить заявление без каких-либо начальных значений, учитываемых в плане выполнения. Задайте значение prepexec, чтобы использовать sp_prepexec в качестве метода подготовки. Этот метод объединяет действие подготовки с первым выполнением, уменьшая количество круговых путей. Он также предоставляет базе данных начальные значения параметров, которые база данных может учесть в плане выполнения. |
queryTimeout INT -1 |
Количество секунд, ожидаемых до истечения времени ожидания в запросе. Значение по умолчанию — 1, что означает бесконечное время ожидания. Установка этого значения в 0 также предполагает неограниченное время ожидания. |
царство Строка null |
(Для версий 9.4 и выше) Область проверки подлинности Kerberos. Установка этого значения переопределит область проверки подлинности Kerberos, которую драйвер автоматически определит на основе области сервера. |
репликация; boolean ["истина" | "ложь"] ложь |
(Для версий 9.4 и выше) Этот параметр сообщает серверу, используется ли соединение для репликации. При включении триггеры с параметром NOT FOR REPLICATION не срабатывают на соединении. |
буферизация отклика Строка ["полный" | "адаптивный"] адаптивный |
Если свойство имеет значение adaptive, это указывает на буферизацию необходимого минимума данных. По умолчанию используется режим adaptive. Если это свойство имеет значение full, при выполнении инструкции с сервера считывается весь результирующий набор. Примечание. После драйвера JDBC версии 1.2 поведение буферизации по умолчанию является адаптивным. Если вы хотите сохранить поведение по умолчанию версии 1.2 в приложении, задайте для свойства responseBuffering значение full либо в свойствах подключения, либо используйте метод setResponseBuffering объекта SQLServerStatement. |
МетодВыбора Строка ["направление" | "курсор"] прямой |
Если этому свойству задано значение "cursor", то для каждого созданного в этом подключении запроса с курсорами TYPE_FORWARD_ONLY и CONCUR_READ_ONLY создается курсор базы данных. Это свойство обычно необходимо, только если приложение создает очень большие результирующие наборы, которые не могут полностью находиться в клиентской памяти. Если свойство имеет значение cursor, в клиентской памяти сохраняется ограниченное число строк результирующего набора. Режим по умолчанию заключается в том, что все строки набора результатов удерживаются в памяти клиента. Такой вариант обеспечивает наибольшую производительность, когда приложение обрабатывает все строки. |
sendStringParameters... AsUnicode boolean ["истина" | "ложь"] истина |
Если свойство sendStringParametersAsUnicode имеет значение true, то строковые параметры отправляются на сервер в формате Юникода. Если свойство sendStringParametersAsUnicode имеет значение false, то строковые параметры отправляются на сервер в формате, отличном от Юникода, например ASCII/MBCS. Значение по умолчанию для свойства sendStringParametersAsUnicode — true. Примечание. Проверка свойства sendStringParametersAsUnicode выполняется только при отправке значения параметра со следующими типами JDBC: CHAR, VARCHAR или LONGVARCHAR. Новые методы национальных символов JDBC 4.0 включают такие методы, как setNString, setNCharacterStream и setNClob классов SQLServerPreparedStatement и SQLServerCallableStatement. Эти методы всегда отправляют значения параметров серверу в Юникоде независимо от параметра этого свойства. Для оптимальной производительности при работе с типами данных JDBC CHAR, VARCHAR и LONGVARCHAR приложение должно установить свойство sendStringParametersAsUnicode в значение false и использовать методы, не поддерживающие национальные символы: setString, setCharacterStream и setClob классов SQLServerPreparedStatement и SQLServerCallableStatement. Когда приложение присваивает свойству sendStringParametersAsUnicode значение false и использует метод, не поддерживающий национальные символы, для доступа на стороне сервера к типам данных в формате Юникода (например, nchar, nvarchar и ntext), часть данных может быть потеряна, если параметры сортировки базы данных не поддерживают символы в строковых параметрах, которые передаются методом, не поддерживающим национальные символы. Приложение должно использовать методы setNString, setNCharacterStream и setNClob для национальных символов в классах SQLServerPreparedStatement и SQLServerCallableStatement для типов данных JDBC NCHAR, NVARCHAR и LONGNVARCHAR. Изменение этого значения может повлиять на сортировку результатов из базы данных. Различия сортировки обусловлены различными правилами сортировки для юникодов и символов, отличных от Юникода. |
отправитьВременныеТипыДанных... КакСтрокаДляМассовогоКопирования boolean ["истина" | "ложь"] истина |
(Начиная с версии 8.4) Это свойство соединения, если задано значение "false", отправляет типы данных DATE, DATETIME, DATIMETIME2, DATETIMEOFFSET, SMALLDATETIME и TIME в качестве соответствующих типов вместо отправки их в виде строки. Если для этого свойства подключения задано значение false, драйвер принимает строковый литеральный формат по умолчанию для каждого темпорального типа данных, например: Дата: YYYY-MM-DD Дата и время: YYYY-MM-DD hh:mm:ss[.nnn] DATETIME2: YYYY-MM-DD hh:mm:ss[.nnnnnnn] СМЕЩЕНИЕ ДАТЫ И ВРЕМЕНИ: YYYY-MM-DD hh:mm:ss[.nnnnnnn] [{+/-}hh:mm] SMALLDATETIME: YYYY-MM-DD hh:mm:ss ВРЕМЯ: hh:mm:ss[.nnnnnnn] |
sendTimeAsDatetime boolean ["истина" | "ложь"] истина |
Это свойство добавлено в SQL Server JDBC Driver 3.0. Установите значение true, чтобы отправить значения java.sql.Time на сервер как значения datetime SQL Server. Установите параметр на «false», чтобы отправлять значения java.sql.Time на сервер в качестве значений SQL Server time. Значение по умолчанию этого свойства сейчас установлено как "true" и может измениться в будущем выпуске. Дополнительную информацию о том, как Microsoft JDBC Driver для SQL Server настраивает значения java.sql.Time перед их отправкой на сервер, смотрите в статье Настройка отправки значений java.sql.Time на сервер. |
сертификат сервера сервер Строка null |
(Версия 11.2.0 и выше) Путь к файлу сертификата сервера. Используется для проверки, если для параметра encrypt задано значения strict. Драйвер поддерживает файлы сертификатов, использующие формат PEM. |
serverName, сервер Строка null |
Компьютер, на котором работает SQL Server или База данных SQL Azure. Можно также указать имя виртуальной сети в группе доступности. Дополнительные сведения об аварийном восстановлении см. в статье о поддержке высокой доступности и аварийного восстановления в JDBC Driver. |
serverNameAsACE булево ["истина" | "ложь"] ложь |
(Начиная с версии 6.0) Задайте значение true, чтобы указать, что драйвер должен преобразовать имя сервера в формате Юникода в ASCII-совместимую кодировку (Punycode) для данного подключения. Если этот параметр имеет значение false, драйвер использует имя сервера, указанное для подключения. Дополнительные сведения о международных функциях см. в статье Международные функции драйвера JDBC. |
serverPreparedStatement... DiscardThreshold Целое 10 |
(Начиная с версии 6.2) Это свойство определяет, сколько невыполненных операций отмены для подготовленных инструкций (sp_unprepare ) допускается для каждого подключения, прежде чем на сервере будет выполнен вызов очистки незавершенных обработчиков. Если для этого свойства задано <= 1 значение , неподготовленные действия выполняются немедленно при закрытии подготовленной инструкции. Если для свойства задано > 1 значение, эти вызовы объединяются вместе, чтобы избежать слишком частого вызова sp_unprepare . |
serverSpn Строка null |
(Начиная с версии 4.2) Это необязательное свойство можно использовать для указания имени субъекта-службы (SPN) подключения Java Kerberos. Используется с authenticationScheme. Для указания служебного имени SPN оно должно быть в формате "MSSQLSvc/fqdn:port@REALM", где fqdn — это полное доменное имя, port — номер порта, а REALM — это область Kerberos SQL Server в верхнем регистре. Примечание. Параметр @REALM является необязательным, если область по умолчанию клиента (как указано в конфигурации Kerberos) совпадает с областью Kerberos для SQL Server. Дополнительные сведения об использовании serverSpn с Java Kerberos см. в руководстве по встроенной проверке подлинности Kerberos для подключения к SQL Server. |
socketFactoryClass Строка null |
(Начиная с версии 8.4) Указывает имя класса для настраиваемой фабрики сокетов, используемой вместо фабрики сокетов по умолчанию. |
socketTimeout INT 0 |
Количество миллисекунд ожидания до того, как произойдет тайм-аут при чтении сокета или принятии подключения. Значение по умолчанию — 0, что означает бесконечное время ожидания. |
объединение запросов РазмерКэша INT 0 |
(Начиная с версии 6.4) Это свойство может быть использовано для включения кэширования хендлов подготовленных запросов в драйвере. Это свойство определяет размер кэша для создания пула инструкций. Это свойство может использоваться только со свойством подключения disableStatementPooling, которое должно быть установлено в значение false. Установка параметра disableStatementPooling в "true" или statementPoolingCacheSize в 0 отключает кэширование подготовленных выражений. |
протокол SSL Строка TLS |
(Начиная с версии 6.4) Это свойство может использоваться для указания протокола TLS, который должен учитываться для безопасного соединения. Возможные значения: TLS, TLSv1, TLSv1.1 и TLSv1.2. Дополнительные сведения о протоколе SSL см. в разделе SSLProtocol. |
transparentNetwork... IPResolution boolean ["истина" | "ложь"] истинный |
(Начиная с версии 6.0) Это свойство обеспечивает более быстрое обнаружение активного (в данный момент) сервера и подключение к нему. Возможными значениями являются "true" и "false", где "true" — значение по умолчанию. До выхода Microsoft JDBC Driver 6.0 для SQL Server приложение должно было включать в строку подключения значение "multiSubnetFailover=true", чтобы указать, что оно подключается к группе доступности Always On. Без установки ключевого слова подключения multiSubnetFailover на значение "true", приложение может столкнуться с истечением времени ожидания при подключении к группе доступности Always On. Начиная с версии 6.0 приложению не нужно задавать значение true для параметра multiSubnetFailover. Примечание. Если прозрачныйNetworkIPResolution=true, первая попытка подключения использует 500 мс в качестве времени ожидания. Любые последующие попытки используют ту же логику времени ожидания, которая используется свойством multiSubnetFailover. |
trustManagerClass Строка null |
(Начиная с версии 6.4) Полное имя класса пользовательской реализации javax.net.ssl.TrustManager . |
менеджер доверия ConstructorArg Строка null |
(Начиная с версии 6.4) Необязательный аргумент, передающийся конструктору TrustManager. Если задано свойство trustManagerClass и запрашивается зашифрованное подключение, используется пользовательский TrustManager вместо TrustManager по умолчанию, который основывается на системном хранилище ключей JVM. |
доверять серверному сертификату boolean ["истина" | "ложь"] ложь |
Установите значение true, чтобы драйвер не проверял TLS/SSL-сертификат сервера. Если значение равно "true", TLS/SSL-сертификат сервера автоматически считается доверенным, когда для шифрования уровня связи используется TLS. Если значение — "false", то драйвер выполнит проверку TLS-сертификата сервера. Если проверка сертификата сервера завершается ошибкой, драйвер вызовет ошибку и закроет подключение. Значение по умолчанию равно "false". Для успешного установления TLS/SSL-подключения передаваемое в serverName значение должно в точности совпадать с общим именем (CN) или DNS-именем в альтернативном имени субъекта (SAN) сертификата сервера. Дополнительные сведения о поддержке шифрования см. в разделе Основные сведения о поддержке шифрования. Примечание. Это свойство используется в сочетании со свойствами проверки подлинности шифрования/. Это свойство оказывает влияние на проверку TLS/SSL-сертификата сервера только в том случае, если для подключения используется шифрование TLS. |
trustStore Строка null |
Путь к файлу сертификата trustStore (включая имя файла). Файл trustStore содержит список сертификатов, которым доверяет клиент. Когда свойство не задано или установлено в null, драйвер будет полагаться на правила определения фабрики менеджеров доверия, чтобы определить, какое хранилище сертификатов использовать. TrustManagerFactory SunX509, используемая по умолчанию, пытается найти доверенный материал, производя поиск в следующем порядке: Файл, указанный в системном свойстве javax.net.ssl.trustStore виртуальной машины Java. Файл <java-home>/lib/security/jssecacerts .Файл <java-home>/lib/security/cacerts .Дополнительные сведения об интерфейсе SUNX509 TrustManager см. в документации по нему на веб-сайте компании Sun Microsystems. Примечание. Это свойство влияет только на поиск сертификатов trustStore, если подключение использует шифрование TLS и свойство trustServerCertificate имеет значение false. |
trustStorePassword Строка null |
Пароль, используемый для проверки целостности данных trustStore. Если задано свойство trustStore, а свойство trustStorePassword не задано, проверка целостности trustStore не выполняется. Если значение не задано как для свойства trustStore, так и для свойства trustStorePassword, драйвер будет использовать системные свойства виртуальной машины Java javax.net.ssl.trustStore и javax.net.ssl.trustStorePassword. Если не задано значение системного свойства javax.net.ssl.trustStorePassword, проверка целостности trustStore не выполняется. Если пользователь не задает свойство trustStore, но он задает свойство trustStorePassword, драйвер JDBC использует файл, который указывает в качестве хранилища доверия javax.net.ssl.trustStore. Кроме того, драйвер проверяет целостность хранилища доверия, используя заданный TrustStorePassword. Этот параметр требуется в случае, если клиентское приложение не желает сохранять пароль в системном свойстве виртуальной машины Java. Примечание: Свойство trustStorePassword влияет на поиск сертификата в хранилище доверительных сертификатов (trustStore) только в том случае, если используется TLS-подключение и свойство trustServerCertificate установлено в значение "false". |
trustStoreType Строка JKS |
Установите это свойство, чтобы указать тип хранилища доверия, который будет использоваться для режима FIPS. Возможными значениями являются либо PKCS12, либо тип, заданный поставщиком FIPS. |
useBulkCopyFor... Пакетная вставка булево ["true" | "false"] ложь |
(Начиная с версии 9.2) Это свойство подключения может быть включено для прозрачного использования API массового копирования данных при выполнении пакетных операций вставки с помощью java.sql.PreparedStatement . Эта функция потенциально обеспечивает более высокую производительность при включении. По умолчанию эта функция выключена. Для включения этого свойства установите значение "true". Важное примечание. Эта функция поддерживает только полностью параметризованные запросы INSERT. Если запросы INSERT комбинируются с другими запросами SQL или содержат данные в значениях, выполнение возвращается к базовой пакетной операции вставки. Дополнительные сведения о том, как использовать это свойство, см. в статье Использование API массового копирования для операции пакетной вставки. |
useDefaultGSSCredential булевый ["истина" | "ложь"] ложь |
(Версия 12.6+) Флаг, чтобы указать, должен ли драйвер создать GSSCredential от имени пользователя для использования собственного GSS-API для верификации Kerberos. |
bulkCopyForBatchInsertBatchSize INT [0..65535] 0 |
(Версия 12.10+) При использовании useBulkCopyForBatchInsert=true это свойство указывает размер пакета для операций массового копирования, созданных из операций пакетной вставки. Дополнительные сведения о влиянии этого параметра см. в параметре BatchSize в SQLServerBulkCopyOptions. |
массовое копирование для пакетной вставки проверки ограничений булевый ["истинно" | "ложно"] ложь |
(Версия 12.10+) При использовании useBulkCopyForBatchInsert=true, установка этого параметра в значение true включает проверку ограничений при вставке данных. При установке этого параметра в значение «ложь» отключаются ограничения проверки. Дополнительные сведения о влиянии этого параметра см. в параметре CheckConstraints в SQLServerBulkCopyOptions. |
Массовое копирование для пакетной вставки с запуском триггеров boolean ["истина" | "ложь"] ложный |
(Версия 12.10+) При использовании useBulkCopyForBatchInsert=true, установка этого параметра в true дает возможность запускать триггеры вставки при вставке строк в базу данных. Установка этого параметра в значение false отключает триггеры вставки. Дополнительные сведения о влиянии этого параметра см. в параметре FireTriggers в SQLServerBulkCopyOptions. |
пакетнаяКопияДляВставкиСохранитьИдентичность булево ["истина" | "ложь"] ложь |
(Версия 12.10+) При использовании useBulkCopyForBatchInsert=true, когда этот параметр установлен в true, сохраняются идентификаторы источника при вставке данных. Задание параметра false позволяет назначать значения идентификаторов получающей стороной. Дополнительные сведения о влиянии этого параметра см. в параметре KeepIdentity в SQLServerBulkCopyOptions. |
массовоеКопированиеДляПакетнойВставкиСохранениеЗначенийNULL булевый ["истина" | "ложь"] ложь |
(Версия 12.10+) При использовании useBulkCopyForBatchInsert=true, при настройке этого параметра значение true сохраняет значения NULL в целевой таблице независимо от параметров значений по умолчанию. Если этот параметр имеет значение false, значения по умолчанию на стороне назначения используются вместо NULL. Дополнительные сведения о влиянии этого параметра см. в параметре KeepNulls в SQLServerBulkCopyOptions. |
МассивноеКопированиеДляПакетнойВставкиБлокировкаТаблицы boolean ["истина" | "ложь"] ложный |
(Версия 12.10+) При использовании useBulkCopyForBatchInsert=true установка этого параметра в значение true предоставляет блокировку массового обновления на время операции массового копирования. Установка этого параметра в значение "ложь" приводит к использованию блокировки строк. Дополнительные сведения о влиянии этого параметра см. в параметре TableLock в SQLServerBulkCopyOptions. |
bulkCopyForBatchInsertAllowEncryptedValueModifications boolean ["истина" | "ложь"] ложь |
(Версия 12.10+) При использовании useBulkCopyForBatchInsert=true этот параметр позволяет выполнять массовое копирование зашифрованных данных между таблицами или базами данных без расшифровки данных. Дополнительные сведения и предупреждения об использовании этого свойства см. в параметре allowEncryptedValueModifications в SQLServerBulkCopyOptions. |
useDefaultJaasConfig boolean ["истина" | "ложь"] false |
(Версия 12.6+) Если приложение существует вместе с библиотеками, которые настраивают JAAS на уровне системы, присвойв этому свойству значение true, драйвер может использовать ту же конфигурацию для выполнения проверки подлинности Kerberos. |
useFmtOnly boolean ["истина" | "ложь"] false |
(Начиная с версии 7.4) Предоставляет альтернативный способ запроса метаданных параметров с сервера. Установите это свойство в значение "true", чтобы указать, что драйвер должен использовать логику SET FMTONLY при запросе метаданных параметров. По умолчанию это свойство отключено, и использовать его не рекомендуется, так как SET FMTONLY помечено для удаления.
useFmtOnly доступно для использования только в качестве обходного пути для известных проблем и ограничений в sp_describe_undeclared_parameters .В настоящее время эта функция поддерживает только одиночные SELECT/INSERT/UPDATE/DELETE запросы. Попытка использовать эту функцию с неподдерживаемыми или множественными запросами заставляет драйвер пытаться проанализировать запрос, но с большой вероятностью приведет к возникновению исключения.Дополнительные сведения об этом свойстве см. в статье Получение ParameterMetaData через useFmtOnly. |
имя пользователя, Пользователь Строка [<=128 char] null |
Пользователь базы данных при подключении с помощью пользователя SQL и пароля. Для соединения Kerberos с именем участника и паролем это свойство устанавливается в качестве имени участника Kerberos. (Начиная с версии 10.2) Когда authentication=ActiveDirectoryServicePrincipal, в свойстве userName указывается допустимый безопасный идентификатор клиента Azure Active Directory. |
идентификатор_рабочей_станции Строка [<=128 char] <empty string> |
Идентификатор рабочей станции. Используется для идентификации определенной рабочей станции в различных средствах профилирования и ведения журнала. Если значение не указано, <empty string> используется. |
xopenStates boolean ["истина" | "ложь"] ложный |
Установите значение true, чтобы указать, что драйвер возвращает в исключениях коды состояний, совместимые с XOPEN. Значение по умолчанию — возвращать коды состояний SQL 99. |
Примечание.
Microsoft JDBC Driver для SQL Server принимает значения сервера по умолчанию для свойств подключения, за исключением ANSI_DEFAULTS и IMPLICIT_TRANSACTIONS. Microsoft JDBC Driver для SQL Server автоматически устанавливает свойство ANSI_DEFAULTS в значение ON, а свойство IMPLICIT_TRANSACTIONS — в значение OFF.
Внимание
Если проверка подлинности установлена в значение ActiveDirectoryPassword, то следующая библиотека должна быть включена в classpath: microsoft-authentication-library-for-java. Его можно найти в Maven Repository. Самый простой способ скачать библиотеку и ее зависимости — использовать Maven:
- Установка Maven в систему
- Перейдите на страницу драйвера GitHub.
- Скачайте файл pom.xml
- Для загрузки библиотеки и ее зависимостей выполните следующую команду Maven:
mvn dependency:copy-dependencies