Параметры подключения ADO.NET

Для подключения к базе данных приложение предоставляет строку подключения, в которой указываются такие параметры, как хост, пользователь, пароль и т.д. Строки подключения имеют вид keyword1=value; keyword2=value;. Для получения дополнительной информации смотрите официальную страницу документации о строках подключения.

Все доступные параметры подключения определены как свойства в YdbConnectionStringBuilder.

Ниже приведены параметры строки подключения, которые ожидает Ydb.Sdk.Ado.

Базовые параметры подключения

Параметр Описание Значение по умолчанию
Host Адрес хоста сервера YDB. localhost
Port Порт сервера YDB. 2136
Database Путь к базе данных. /local
User Имя пользователя. Не определено
Password Пароль пользователя. Не определено

Безопасность и шифрование

Параметр Описание Значение по умолчанию
UseTls Определяет, следует ли устанавливать защищенное соединение по TLS (grpcs); при false — TLS не используется (grpc). false
RootCertificate Путь к файлу доверенного корневого/промежуточного сертификата сервера (PEM). Если параметр установлен, для UseTls автоматически устанавливается значение true. Не определено

Pooling

Параметр Описание Значение по умолчанию
MinPoolSize Минимальный размер пула сессий. 0
MaxPoolSize Максимальный размер пула сессий. 100
SessionIdleTimeout Время ожидания (в секундах) перед закрытием неактивных сессий в пуле, если общее число сессий превышает MinPoolSize. 300

Timeouts And Keepalive

Параметр Описание Значение по умолчанию
ConnectTimeout Время ожидания (в секундах) при установлении соединения с сервером. Должно быть больше или равно 0. Установите значение 0 для бесконечного ожидания. 10
CreateSessionTimeout Время ожидания (в секундах) при создании новой сессии. Должно быть больше или равно 0. Установите значение 0 для бесконечного ожидания. 5
KeepAlivePingDelay Период простоя (в секундах), после которого отправляется keepalive ping при отсутствии трафика. Это свойство используется вместе с параметром KeepAlivePingTimeout, чтобы проверить, не разорвано ли соединение. Значение должно быть больше или равно 1 секунде. Установите значение 0, чтобы отключить проверку связи keep alive. 10
KeepAlivePingTimeout Время ожидания (в секундах) после отправки keepalive ping; если за это время не получено ни одного сообщения, соединение закрывается. Время ожидания должно быть больше или равно 1 секунде. Установите значение 0, чтобы отключить тайм-аут для поддержания соединения в режиме ожидания. 10

Performance

Параметр Описание Значение по умолчанию
EnableMultipleHttp2Connections Определяет, следует ли автоматически масштабировать HTTP/2-соединения в пределах одного канала gRPC до одного узла кластера. Это требуется редко, но может повысить производительность в сценариях с высокой нагрузкой на один узел. При false используется одно HTTP/2-соединение на узел. false
MaxSendMessageSize Максимальный размер исходящих сообщений в байтах. Примечание: на сервере действует лимит 64 МБ; большие сообщения отклоняются ошибкой ResourceExhausted. 67108864 (64 MB)
MaxReceiveMessageSize Максимальный размер входящих сообщений, байт. 67108864 (64 MB)
DisableServerBalancer Определяет, следует ли отключать балансировку сессий на стороне сервера; при false балансировка включена. false

Параметры полезные для Serverless приложений

Параметр Описание Значение по умолчанию
DisableDiscovery Определяет, следует ли отключать автоматическое обнаружение узлов и использовать прямое gRPC‑подключение по адресу из строки подключения; при false выполняется обнаружение узлов (discovery) для клиентской балансировки. false
EnableImplicitSession Определяет, включено ли неявное управление сессиями: сервер создает и завершает сессии на каждую операцию; на клиенте пул сессий не используется. В этом режиме интерактивные клиентские транзакции не поддерживаются. false

Параметры конструктора соединений

Существуют также дополнительные параметры, которые не участвуют в формировании строки ConnectionString. Их можно указать только с использованием YdbConnectionStringBuilder:

Параметр Описание Значение по умолчанию
LoggerFactory Этот параметр принимает экземпляр, реализующий интерфейс ILoggerFactory. ILoggerFactory — это стандартный интерфейс для фабрик логирования в .NET. Допускается использование популярных фреймворков, таких как NLog, Serilog, log4net. NullLoggerFactory.Instance
CredentialsProvider Поставщик аутентификации, реализующий Ydb.Sdk.Auth.ICredentialsProvider. Стандартные способы аутентификации:
1) Ydb.Sdk.Auth.TokenProvider — аутентификация токеном для OAuth-подобных токенов.
2) Для Yandex Cloud рассмотрите возможность использования ydb-dotnet-yc.
Анонимное подключение
ServerCertificates Указывает пользовательские серверные сертификаты, используемые для проверки TLS/SSL. Это полезно при работе с облачными провайдерами (например, Yandex Cloud), которые используют пользовательские корневые или промежуточные сертификаты, которым по умолчанию не доверяют. Не определено