WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Все взаимодействие между приложением .NET и сервером MySQL проходит
через объект Используя класс В этой главе рассматривается, как соединиться с MySQL, используя объект
Объект Следующее это типовая строка подключения: В этом примере объект Использование символа '@' для параметров теперь предпочтительный подход,
хотя старый образец использования '?' все еще поддерживается. Чтобы избежать
конфликтов, используя символ в сочетании с пользовательскими переменными,
посмотрите выбор строки подключения в
разделе 4.5.
Connector/NET поддерживает несколько моделей связи: После того, как вы создали строку подключения, она может использоваться,
чтобы открыть связь с сервером MySQL. Следующий код используется, чтобы создать объект
MySQL Connector/NET может также соединиться с использованием плагина
аутентификации Windows, см.
раздел 5.3.1. Можно далее расширить механизм аутентификации, создав собственный плагин
идентификации. Посмотрите подробности в
разделе 5.3.2. Пример Visual Basic Пример на C# Можно также передать строку подключения конструктору класса
Пример Visual Basic Пример на C# После того, как связь открыта, она может использоваться другими классами
Connector/NET, чтобы общаться с сервером MySQL. Данные, используемые запросами, могут храниться на многих серверах MySQL,
чтобы обеспечить высокую доступность. Connector/NET обеспечивает простой
способ определить много хостов в строке подключения для случаев, в которых
многократные серверы MySQL формируются для репликации
и вы не обеспокоены точным сервером, с которым соединяется ваше приложение
в наборе. Для примера того, как формировать много хостов посмотрите
Using Replication & Load balancing. Начиная с Connector/NET 8.0.19, связи классического протокола и
X-протокола MySQL разрешают использование многократных имен хоста и
многократных конечных точек
(пар Обновленный подход к отказоустойчивости выбирает цель связи сначала
приоритетным порядком, если обеспечено, или произвольным порядком, когда
никакой приоритет не определяется. Если предпринятая связь с отобранной целью
неудачна, Connector/NET выбирает новую цель из списка, пока хосты не
кончатся. Если позволено, Connector/NET использует объединение связи, чтобы
справиться с неудачными связями (см.
раздел 4.3). Чтобы позволить DNS-SRV в вашем проекте .NET Framework,
избегите загрузки пакета Проекты .NET Core могут использовать пакет NuGet непосредственно, чтобы
активировать опцию DNS-SRV. Когда многократные экземпляры MySQL, например, кластер,
предоставляют ту же самую услугу в вашей установке, можно применить записи
DNS Service (SRV), чтобы обеспечить отказоустойчивость, выравнивание нагрузки
и службы репликации. Записи DNS SRV устраняют необходимость клиентов опознать
каждый возможный хост в строке подключения или для связей, которые будут
обработаны дополнительным компонентом программного обеспечения.
Они могут также быть обновлены централизованно администраторами, когда
серверы добавлены или удалены из конфигурации или когда их имена хоста
изменяются. Записи DNS SRV могут использоваться в сочетании с объединением
связи, в этом случае связи с хостами, которые больше не находятся в текущем
списке SRV, удалены из пула, когда они становятся неработающими.
Для получения информации о DNS SRV в MySQL, см.
Connecting to the Server Using DNS SRV Records. Сервисная запись это спецификация данных, управляемых вашей системой
доменных имен, которая определяет местоположение (имя хоста и номер порта)
серверов для указанных сервисов. Формат записи определяет приоритет, вес,
порт и цель обслуживания, как определено в спецификации RFC 2782 (см.
https://tools.ietf.org/html/rfc2782).
В следующей записи SRV показан пример с четырьмя целями сервера (для
(for Чтобы открыть связь, используя записи DNS SRV, добавьте опцию
Пример на C# Для дополнительных примеров использования и ограничений для классического
протокола MySQL и для X-протокола, посмотрите
здесь. Туннелирование SSH (или перенаправление портов) позволяет вам создать
безопасное соединение между своим компьютером и удаленным компьютером, через
которое можно получить доступ к данным MySQL. Тоннели SSH разрешают вам
соединяться с базой данных MySQL из-за брандмауэра, когда порт
сервера MySQL заблокирован. Есть несколько соображений для соединения со стандартным
TCP/IP по SSH: Ваше приложение (клиент, чтобы установить связь) требует
разрешения на сервере SSH. Сервер SSH общается с сервером MySQL незашифрованным или зашифрованным
способом, на основе значения, отобранного для опции
Опция Имя сервера SSH и порт формируются, используя опции связи
Только Только Ваш сервер SSH может потребовать чтобы вы также обеспечивали опцию связи
Комбинация имени пользователя + файл ключей (пароль) + пароль может
выполнить откат идентификации, когда файл ключей и пароль действительны, но
ошибка происходит на сервере. Определенно, первая попытка соединиться
использует файл ключей, и если это терпит неудачу, следующая попытка
соединиться использует пароль вместо этого. Если файл ключей SSH пустой,
но пароль SSH обеспечивается, Connector/NET пытается соединиться с
использованием только пароля SSH. Можно формировать туннелирование SSH при помощи Connector/NET 8.0.17 (или
выше) через строки подключения или свойства класса: класс
Эта секция включает одобренные, устаревшие и недействительные наборы
шифров SSH, поддерживаемые Connector/NET. Включение шифров и алгоритмов в
различные списки может изменяться со временем. Одобренные шифры SSH и алгоритмы по категориям включают: Шифрование Устаревшие шифры SSH и алгоритмы доступны только для наследия и целей
совместимости. Эти пункты подвергаются постепенному постепенному сокращению
(см. здесь). Текущий набор устаревших шифров и алгоритмов по категориям: Шифрование Ключевые обменные алгоритмы
Коды аутентификации сообщения
хэширования по ключу Следующие шифры SSH и алгоритмы (по категориям) больше не разрешаются: Шифрование Ключевые обменные алгоритмы
Коды аутентификации сообщения
хэширования по ключу Примеры в этой секции демонстрируют, как установить классические связи
протокола MySQL, используя стандартный TCP/IP по SSH: Этот пример показывает наиболее каноническую форму туннельной связи SSH.
Порт MySQL по умолчанию 3306, порт SSH по умолчанию 22, потому что значения
не формируются. Кроме того, только пароль обеспечивается, чтобы подтвердить
подлинность серверу SSH. В этом примере связь установлена, используя
объект В этом примере туннелирования SSH порты MySQL и SSH формируются, чтобы
отвергнуть значения по умолчанию. Только пароль обеспечивается, чтобы
подтвердить подлинность серверу SSH. Обратите внимание на то, что связь
установлена, используя строку подключения. В дополнение к установке связи с паролем, этот пример также включает файл
ключей и пароль. Как и в предыдущем примере, формируются порты MySQL и SSH.
Этот пример включает файл ключей SSH (без пароля) и пароль SSH.
Поскольку файл ключей действителен, и пароль не требуется, связь может
отступить к значению пароля SSH, если идентификация с файлом ключей SSH
сталкивается с ошибкой на сервере. Примеры в этой секции демонстрируют, как установить связи X-протокола,
используя стандартный TCP/IP по SSH: Этот пример формирует связь SSH со значением по умолчанию для порта SSH
(22). Однако, потому что связь использует X-протокол, чтобы установить
тоннель SSH, порт MySQL по умолчанию (33060) обеспечивается в подобной
URI строке подключения. Этот пример создает тоннель SSH для анонимного объекта и гарантирует
использование SSL, явно отрицая связь, если сервер не поддерживает SSL. MySQL Connector/NET поддерживает объединение связи для лучшей работы и
масштабируемости. Это позволено по умолчанию. Можно выключить его или
приспособить его показатели производительности, используя варианты строки
подключения Объединение связи работает, сохраняя родную связь с сервером живой,
когда клиент избавляется от Чтобы работать, как разработано, лучше позволять системе объединения
связи справиться со всеми связями. Не создавайте глобально доступный
экземпляр Один подход, который упрощает работу, должен избежать создавать объект
Типовые наборы данных и классы
Вместо создания вручную объекта Connector/NET управляет фоновым заданием каждые три минуты и удаляет связи
из пула, которые не были использованы больше трех минут.
Уборка пула освобождает ресурсы на обеих сторонах клиент-сервера.
Это вызвано тем, что на клиентской стороне каждая связь использует сокет, а
на серверной стороне каждая связь использует сокет и поток. Многократные конечные точки. Начиная с Connector/NET 8.0.19,
строка подключения может включать многократные конечные точки
( Поскольку соединение с внешним сервером непредсказуемо, важно добавить
обработку ошибок к вашему приложению .NET. Когда есть ошибка при соединении,
класс Когда есть ошибки из-за неправильного обращения, можно приспособить ответ
на запрос на основе кода ошибки. Два наиболее распространенных
кода ошибки следующие: Следующий пример кода показывает, как управлять ответом
на основе фактической ошибки: При использовании многоязычных баз данных необходимо определить набор
символов в строке подключения. Если вы не определяете набор символов,
по умолчанию он В этой главе описываются опции связи MySQL Connector/NET 8.0.
Протокол, который вы используете, чтобы установить связь с сервером
(классический протокол MySQL или X-протокол) определяет, какие варианты
необходимо использовать. У вариантов связи есть значение по умолчанию,
которое можно перекрыть, определив новое значение в строке подключения
(классический протокол MySQL и X-протокол) или в подобной URI строке
подключения (X-протокол). Имена опций Connector/NET
и синонимы не чувствительны к регистру. Для инструкций о том, как использовать строки подключения, посмотрите
раздел 4.1.
Для альтернативных стилей связи посмотрите
Connecting to the Server Using URI-Like Strings or
Key-Value Pairs. Следующие разделы перечисляют варианты связи, которые относятся к обоим
протоколам, классическому протоколу MySQL и X-протоколу: Следующие варианты связи Connector/NET могут использоваться с любым
протоколом. Connector/NET 8.0 выставляет варианты в этой секции как
свойства в обоих классах
Значение по умолчанию: Этот выбор определяет путь к файлу сертификата в формате PKCS #12
( Значение по умолчанию: Определяет пароль, который используется вместе с сертификатом,
определенным, используя Значение по умолчанию: Позволяет вам получить доступ к сертификату в личном хранилище
вместо того, чтобы использовать комбинацию файла сертификата и пароля.
Для примера использования посмотрите
раздел 6.10.2
. Значение по умолчанию: Определяет отпечаток сертификата, чтобы гарантировать правильную
идентификацию сертификата в личном хранилище. Для примера использования
посмотрите раздел
6.10.2. Определяет набор символов, который должен использоваться, чтобы
закодировать все запросы, посланные в сервер. Результаты возвращены в наборе
символов данных результата. Значение по умолчанию: Определяет тип связи: Значение по умолчанию: Чувствительное к регистру название базы данных,
чтобы использовать первоначально. Значение по умолчанию: Позволяет связи разрешить сервисные (SRV) адреса в записи DNS SRV,
которые определяют местоположение (имя хоста и номер порта) серверов для
указанных услуг, когда это используется с транспортным протоколом по
умолчанию ( Определять многократные имена хоста, номер порта или сокет
Unix, именованный канал или сопряжение с общей памятью (см. опцию
Использование классического протокола MySQL.
Опция Использование X Protocol.
Опция Значение по умолчанию: Для соединений по протоколу TCP время простоя связи
задано в секундах, прежде чем первый пакет послан.
Значение 0 указывает, что Пароль для MySQL. Значение по умолчанию: Порт MySQL. Это проигнорировано, если используется сокет Unix. Значение по умолчанию: Имя или сетевой адрес одного или более хостов. Многократные хосты отделены
запятыми, приоритет (от 0 до 100), если обеспечен, определяет порядок выбора
хоста. С Connector/NET 8.0.19 выбор хоста случаен, когда приоритеты опущены
или являются теми же самыми для каждого хоста. Провайдер не пытается синхронизировать записи в базу данных, поэтому
осторожней, используя этот выбор. В среде UNIX с Mono
это может быть полностью квалифицированным путем к файлу сокета
MySQL. С этой конфигурацией сокет UNIX используется вместо сокета TCP/IP.
В настоящее время только единственное имя сокета может быть дано, таким
образом получение доступ к MySQL в реплицированной среде, используя сокеты
UNIX в настоящее время не поддерживается. Значение по умолчанию: Имя или IP-адрес сервера SSH. Значение по умолчанию: Путь и название файла ключей SSH. Файл ключей поддерживает RSA и закрытые
ключи DSA в форматах OpenSSH и ssh.com. Если вы обеспечиваете этот файл,
связанный пароль может требоваться для идентификации. Когда файл ключей и
пароль обеспечиваются, файл ключей используется сначала и затем, если это
терпит неудачу, пароль используется в качестве конфигурации отступления.
Условия отступления требуют, чтобы файл ключей SSH и пароль SSH были
действительны, но попытка подключения потерпела неудачу из-за
ошибок на сервере. Значение по умолчанию: Пароль файла ключей SSH. Значение по умолчанию: Пароль SSH. Когда файл ключей и пароль обеспечиваются, файл ключей
применен сначала и затем, если это терпит неудачу, пароль используется в
качестве конфигурации отступления. Условия отступления требуют, чтобы файл
ключей SSH и пароль SSH были действительны, но попытка подключения потерпела
неудачу из-за ошибок на сервере. Значение по умолчанию: 22. Номер порта сервера SSH. Значение по умолчанию: Имя пользователя SSH, который заверен сервером SSH, используя файл ключей
(и пароль, при необходимости), паролем или обоими способами.
С действительными параметрами связь устанавливается между клиентским
приложением и сервером SSH. Сервер SSH тогда общается с сервером MySQL в
незашифрованной или зашифрованной связи, на основе значения опции
Опция Значение по умолчанию: На основе типа используемых сертификатов
этот выбор любой определяет путь к файлу сертификата в формате PKCS #12
( При применении сертификатов PFX этот выбор нужен когда опция связи
При применении сертификатов PEM этот выбор нужен когда опция связи
Для примеров использования посмотрите
раздел
6.10.1. Значение по умолчанию: Название файла сертификата SSL в формате PEM, чтобы использовать для
установления зашифрованной связи. Этот выбор принимается только когда
Значение по умолчанию: Название файла ключей SSL в формате PEM, чтобы использовать для
установления зашифрованной связи. Этот выбор принимается только когда
Значение по умолчанию: Зависит от версии Connector/NET и протокола.
Именованный канал и сопряжения с общей памятью
не поддерживаются с X-протоколом. У этого выбора есть следующие значения: Не используйте эту возможность для операций по X-протоколу. Значение по умолчанию:
Ограничивает набор версий протокола TLS, чтобы использовать во время
рукопожатия TLS, когда клиент-сервер поддерживает обозначенные версии TLS и
значение опции Connector/NET понимает следующие значения Об ошибке сообщают, когда значение не входит в список выше.
Аналогично, об ошибке сообщают, когда пустой список предоставлен как
значение или если все версии в списке не поддерживаются, и никакая попытка
подключения не сделана. Значение по умолчанию: Учетная запись MySQL. Варианты, связанные с системами, использующими пул
связи, появляются вместе в конце списка общих вариантов (см.
здесь). Connector/NET 8.0 выставляет варианты в этой секции как свойства
в классе Значение по умолчанию: Когда Значение по умолчанию: Отключает (по умолчанию) или позволяет функциональность сервера
локальной загрузки данных. Если этот выбор установлен в
Значение по умолчанию: Определяет безопасный путь где файлы могут быть прочитаны и загружены на
сервер. Когда связанная опция Следующая таблица показывает поведение сочетания опций
Значение по умолчанию: Установка в Этот выбор подвержен атакам "человек посередине", таким образом,
он должен использоваться только в ситуациях, где можно гарантировать другими
средствами, что связи установлены с серверами, которым доверяют. Значение по умолчанию: Установка в Значение по умолчанию: При установке в Значение по умолчанию: Если С 8.0.10 эта опция поддерживается в .NET Core 2.0. Значение по умолчанию: Регулярное выражение POSIX-стиля, которое соответствует названиям колонок
BLOB, которые не содержат данные в UTF-8. См.
раздел 5.14. Значение по умолчанию: Регулярное выражение POSIX-стиля, которое соответствует названиям колонок
BLOB, содержащих данные в UTF-8, см.
раздел 5.14
. Значение по умолчанию: Указывает, должны ли параметры сохраненных процедур
быть сравнены с сервером. Список перехватчиков, которые могут перехватить операции
по команде SQL. Значение по умолчанию: Отрезок времени (в секундах), чтобы ждать связи с сервером прежде,
чем закончить попытку и произвести ошибку. Значение по умолчанию: Использование Значение по умолчанию: Устанавливает значение по умолчанию тайм-аута команды.
Это не заменяет отдельное значение тайм-аута команды
на отдельном объекте команды. Значение по умолчанию: Определяет сколько времени в секундах результат
Список перехватчиков, которые могут перехватывать исключения
Значение по умолчанию: Заставляет соединитель возвращать значения
Значение по умолчанию: Значение Значение по умолчанию: Должен быть установлен в С 8.0.10 этот выбор поддерживается в .NET Core 2.0. Значение по умолчанию: Если установлено в С 8.0.10 этот выбор поддерживается в .NET Core 2.0. Значение по умолчанию: Используйте аутентификацию Windows, соединяясь с сервером. По умолчанию
это выключено. Чтобы позволить, определите значение
В настоящее время не поддержано в
.NET Core. Значение по умолчанию: Когда true, различные сведения произведены для настроенного
TraceListeners. См.
раздел 5.12. С 8.0.10 этот выбор поддерживается в .NET Core 2.0. Значение по умолчанию: Представление бэкенда типа GUID было изменено с
Значение по умолчанию: Когда установлено в Значение по умолчанию: Когда установлено в название именованного канала,
В настоящее время не поддержано в
.NET Core. Значение по умолчанию: Устанавливает размер кэша хранимой процедуры. По умолчанию
Connector/NET хранит метаданные (типы данных ввода/вывода) о последних 25
используемых хранимых процедурах. Чтобы выключить кэш
хранимой процедуры, установите значение 0. Значение по умолчанию: Указывает, должна ли эта связь использовать репликационные серверы. С 8.0.10 этот выбор поддерживается в .NET Core 2.0. Значение по умолчанию: Установка в Значение по умолчанию: Название объекта общей памяти, чтобы использовать для коммуникации, если
транспортный протокол установлен в Сейчас не поддерживается в .NET Core.
Значение по умолчанию: Позволяет синтаксис SQL Server. Когда Значение по умолчанию: Позволяет или отключает кэширование команд
Значение по умолчанию: Установка в Значение по умолчанию: Установка в Значение по умолчанию: Когда Значение по умолчанию: Установка в Сжатие используется, если клиент и сервер поддерживает сжатие ZLIB,
и клиент запросил сжатие, используя этот выбор. Сжатый заголовок пакета: длина пакета (3 байта), номер пакета (1 байт)
и несжатая длина пакета (3 байта). Несжатая длина пакета это число байтов в
оригинальном, несжатом, пакете. Если это ноль, данные в этом пакете не были
сжаты. Когда протокол сжатия используется, клиент или сервер могут сжать
пакеты. Однако, сжатие не произойдет, если сжатая длина будет больше, чем
оригинальная длина. Таким образом некоторые пакеты будут содержать сжатые
данные, в то время как другие пакеты не будут. Значение по умолчанию: Проводит в жизнь тайм-аут команды
Значение по умолчанию: Этот выбор был удален в Connector/NET 8.0.8. Весь код должен теперь быть
написан, используя символ '@' как маркер параметра. Значение по умолчанию: Указывает, что счетчики производительности должны быть обновлены
во время выполнения. В настоящее время не поддержано в
.NET Core. Значение по умолчанию: Регистрирует неэффективные операции по базе данных. С 8.0.10 этот выбор поддерживается в .NET Core 2.0.
Опции пула связи. Следующие варианты связаны с объединением связи в
строках подключения. Для получения дополнительной информации об объединении
связи, посмотрите
здесь. Значение по умолчанию: Определяет, обновлены ли настройки серверной переменной команды
Значение по умолчанию: Когда связь возвращена в пул, ее время создания сравнивается с
текущим временем, и связь разрушена, если тот отрезок времени (в секундах)
превышает значение, определенное Значение по умолчанию: Если Значение по умолчанию: Максимальное количество связей в пуле. Значение по умолчанию: Минимальное количество связей в пуле. Значение по умолчанию: Когда Варианты связи ниже действительны для связей, установленных с
X-протоколом. Connector/NET 8.0 выставляет варианты в этой секции как
свойства класса Механизм аутентификации, чтобы использовать с X-протоколом. Этот выбор
был введен с версии 8.0.9 и имеет следующие значения, которые не являются
чувствительными к регистру: Опция Значение по умолчанию: Сжатие используется, чтобы послать и получить данные, когда
клиент и сервер поддерживают его для связей X-протокола и сжатия запросов
клиента, используя этот выбор. После того, как успешное согласование
алгоритма сделано, Connector/NET может начать сжимать данные немедленно.
Чтобы предотвратить сжатие маленьких пакетов или данных, уже сжатых,
Connector/NET определяет порог размера в 1000 байт. Когда многократные алгоритмы сжатия поддерживаются сервером,
Connector/NET применяет следующий приоритет по умолчанию:
Используйте опцию Сжатие данных для связей X-протокола было добавлено в
Connector/NET 8.0.20. Опция С Connector/NET 8.0.22 клиентское приложение может определить
порядок, в котором о поддержанных алгоритмах сжатия договариваются с
сервером. Значение опции Этот выбор принимает следующие названия алгоритма и синонимы: Названия алгоритма и синонимы могут быть объединены в списке разделенных
запятой значений или обеспечены как автономное значение: Значение по умолчанию: Этот выбор был введен в Connector/NET 8.0.16 для представления ряда
признаков, которые будут переданы серверу вместе с параметрами
связи по умолчанию. Совокупный размер данных о признаке связи, посланных
клиентом, ограничивается значением серверной переменной
Значение параметра признаков связи может быть пустым (то же самое как
определение Определенные приложением названия атрибута не могут начинаться с
Если признаки связи не определяются действительным способом, ошибка
происходит, и попытка подключения терпит неудачу. Значение по умолчанию: Отрезок времени (в миллисекундах), чтобы ждать связи X-протокола с
сервером прежде, чем закончить попытку и произвести ошибку.
Можно отключить тайм-аут связи, установив значение в ноль. Этот выбор может
быть определен следующим образом: Подобный URI пример строки подключения: Пример строки подключения: Пример анонимного объекта: Пример класса Значение по умолчанию: Путь к местному файлу, содержащему списки аннулированных сертификатов. Хотя опция строки подключения Значение по умолчанию: Включает или выключает использование SSL для связей, установленных,
используя X-протокол. Значение Этот выбор был введен в Connector/NET 7.0.5 и удален в Connector/NET 8.0.8
поскольку SSL позволен по умолчанию в надлежащих случаях. Начиная с
Connector/NET 8.0.8, чтобы отключить SSL, когда сервер не поддерживает его,
необходимо установить значение В этой главе описываются все опции строки подключения MySQL Connector/NET
6.10. У вариантов связи есть значение по умолчанию, которое можно отвергнуть,
определив новое значение в строке подключения. Имена опций Connector/NET
и синонимы не чувствительны к регистру. Для инструкций о том, как использовать строки подключения с Connector/NET,
см. раздел 4.1. Опции Connector/NET 6.10 предназначены для общего использования со
строками подключения и относятся ко всем конфигурациям сервера MySQL: Значение по умолчанию: Когда Значение по умолчанию: Отключает (по умолчанию) или позволяет функциональности сервера загрузить
данные из локального файла. Значение по умолчанию: Установка в Значение по умолчанию: Если Значение по умолчанию: Если С 6.10.6 эта опция поддерживается в .NET Core 2.0. Значение по умолчанию: Регулярное выражение POSIX-стиля, которое соответствует названиям колонок
BLOB, которые не содержат данные в UTF-8. См.
раздел 5.14
. Значение по умолчанию: Регулярное выражение POSIX-стиля, которое соответствует названиям колонок
BLOB, содержащих данные в UTF-8, см.
раздел 5.14
. Значение по умолчанию: Этот выбор определяет путь к файлу сертификата в формате PKCS #12
( Значение по умолчанию: Определяет пароль, который используется вместе с сертификатом,
определенным, используя опцию
Значение по умолчанию: Позволяет вам получить доступ к сертификату в личном хранилище
вместо того, чтобы использовать комбинацию файла сертификата и пароля.
Для примера использования посмотрите
раздел 6.10.
Опция добавлена в версии 6.2.1. Значение по умолчанию: Определяет отпечаток сертификата, чтобы гарантировать правильную
идентификацию сертификата в личном хранилище. Для примера использования
посмотрите раздел 6.10.
Опция добавлена в версии 6.2.1. Определяет набор символов, который должен использоваться, чтобы
закодировать все запросы, посланные серверу.
Результаты возвращены в наборе символов данных. Значение по умолчанию: Указывает, должны ли параметры сохраненных процедур
быть сравнены с сервером. Список перехватчиков, которые могут перехватить операции
по команде SQL. Значение по умолчанию: Определяет тип связи с сервером, значения могут быть: Значение по умолчанию: 15. Отрезок времени (в секундах), чтобы ждать связи с сервером прежде, чем
закончить попытку и произвести ошибку. Значение по умолчанию: При Значение по умолчанию: mysql. Чувствительное к регистру название базы данных,
чтобы использовать первоначально. Значение по умолчанию: 30. Устанавливает значение по умолчанию тайм-аута команды.
Это не заменяет отдельное значение на отдельном объекте команды.
Опция добавлена в версии 5.1.4. Значение по умолчанию: 60. Определяет сколько времени в секундах результат
Список перехватчиков, которые могут обработать исключения
Значение по умолчанию: Заставляет соединитель возвращать значения
Значение по умолчанию: Если Значение по умолчанию: Должен быть установлен в С 6.10.6 этот выбор поддерживается в .NET Core 2.0. Значение по умолчанию: no. Используйте аутентификацию Windows, соединяясь с сервером.
По умолчанию это выключено. Чтобы позволить, определите значение
Пока не поддерживается в .NET Core.
Значение по умолчанию: Если С 6.10.6 опция поддерживается в .NET Core 2.0. Значение по умолчанию: 0. Для соединений по протоколу TCP время простоя связи в секундах перед
отправкой первого пакета keepalive. Значение 0 указывает, что
Значение по умолчанию: Если true, различные сведения произведены любому
настроенному TraceListeners. См.
раздел 5.12. С 6.10.6 поддерживается в .NET Core 2.0. Значение по умолчанию: Этот выбор был введен в Connector/NET 6.1.1.
Представление бэкенда типа GUID было изменено с
Пароль для MySQL. Значение по умолчанию: Когда установлено в Значение по умолчанию: mysql. Когда установлено в название именованного канала,
Не поддерживается в .NET Core.
Значение по умолчанию: 3306. Порт MySQL для связи. Это проигнорировано, если
используется сокет Unix. Значение по умолчанию: 25. Устанавливает размер кэша хранимой процедуры. По умолчанию
Connector/NET хранит метаданные (типы данных ввода/вывода) о последних 25
используемых хранимых процедурах. Чтобы отключить кэш
хранимой процедуры, установите значение в 0. Этот выбор был введен в версиях
5.0.2 и 1.0.9. Значение по умолчанию: Указывает, должна ли эта связь использовать репликацию. С 6.10.6 опция поддерживается .NET Core 2.0. Значение по умолчанию: Установка в Значение по умолчанию: Имя или сетевой адрес сервера MySQL, с которым можно соединиться.
Многократные хосты могут быть определены как отделенные запятыми.
Это может быть полезно, где многократные серверы MySQL формируются для
репликации и вы не обеспокоены точным сервером, с которым вы соединяетесь.
Никакая попытка не предпринята поставщиком, чтобы синхронизировать запись в
базы данных, поэтому требуется осторожность, используя этот выбор.
В среде Unix с Mono это может быть полностью квалифицированным путем к файлу
сокета MySQL. С этой конфигурацией сокет Unix используется вместо сокета
TCP/IP. В настоящее время только единственное название сокета может быть
дано, так что доступ к MySQL в реплицированной среде, используя сокеты
Unix в настоящее время не поддерживается. Значение по умолчанию: MYSQL. Название общей памяти, чтобы использовать для коммуникации,
если транспортный протокол установлен в Не поддерживается в .NET Core.
Значение по умолчанию: Позвольте синтаксис SQL Server. Когда установлено в
Значение по умолчанию: Опция введена в Connector/NET 6.2.1 и имеет следующие значения: Значение по умолчанию: Включает или выключает кэширование команд
Значение по умолчанию: Установка этого значения к Значение по умолчанию: Установка в Значение по умолчанию: Когда Значение по умолчанию: Установка в Сжатие используется, если клиент и сервер поддерживает сжатие ZLIB, и
клиент запросил сжатие, используя этот выбор. Сжатый заголовок пакета: длина пакета (3 байта), номер
пакета (1 байт) и несжатая длина пакета (3 байта). Несжатая длина пакета это
число байтов в оригинальном, несжатом, пакете.
Если это ноль, данные в этом пакете не были сжаты.
Когда протокол сжатия используется, клиент или сервер могут сжать пакеты.
Однако, сжатие не произойдет, если сжатая длина будет больше, чем
оригинальная. Таким образом, некоторые пакеты будут содержать сжатые данные,
в то время как другие пакеты не будут. Значение по умолчанию: Проводит в жизнь тайм-аут Значение по умолчанию: Опция устарела в Connector/NET 5.2.2 и удалена в Connector/NET 6.10.2.
Весь код теперь должен быть написан, используя символ '@'
как маркер параметра. Значение по умолчанию: Указывает, что счетчики производительности должны быть обновлены
во время выполнения. Пока не поддерживается в .NET Core.
Значение по умолчанию: При установке в Этот выбор устарел в Connector/NET 6.3.7 и удален в
Connector/NET 6.10.4, вместо него используйте опцию
Учетная запись MySQL. Значение по умолчанию: Регистрирует неэффективные операции по базе данных. С 6.10.6 опция поддерживается .NET Core 2.0. Следующие варианты связаны с объединением связи в строках подключения.
Для получения дополнительной информации об объединении связи, посмотрите
здесь. Значение по умолчанию: Определяет, обновлены ли настройки серверной переменной командой
Значение по умолчанию: 0. Когда связь возвращена в пул, ее время создания сравнивается с текущим
временем, и связь разрушена, если тот отрезок времени (в секундах) превышает
значение, определенное Значение по умолчанию: Если Значение по умолчанию: 100. Максимальное количество связей позволено в пуле. Этот выбор относится к
Connector/NET 6.7 и выше. Значение по умолчанию: 0. Минимальное количество связей позволено в пуле. Этот выбор относится к
Connector/NET 6.7 и выше. Значение по умолчанию: Если
Глава 4. Соединения в Connector/NET
MySqlConnection
, используя
классический протокол MySQL. Прежде чем ваше приложение сможет
взаимодействовать с сервером, оно должно создать экземпляр, сформировать и
открыть объект MySqlConnection
.MySqlHelper
, объект
MySqlConnection
создается классом помощника.
Аналогично, используя класс
MySqlConnectionStringBuilder
, чтобы выставить
варианты связи как свойства, ваше приложение должно открыть объект
MySqlConnection
.MySqlConnection
.
4.1. Создание строки подключения Connector/NET
MySqlConnection
формируется, используя строку подключения. Строка подключения содержит
несколько пар ключ/значение, отделенных точками с запятой.
В каждой паре ключ/значение к имени выбора и его соответствующему значению
присоединяется знак =. Для списка имен выбора, чтобы использовать в
строке подключения, посмотрите
раздел 4.5.
"server=127.0.0.1;uid=root;pwd=12345;database=test"
MySqlConnection
формируется, чтобы соединиться с сервером MySQL на адресе
127.0.0.1
с именем пользователя
root
и паролем
12345
. База данных по умолчанию для всех
запросов будет test
.Старый синтаксис
строки подключения устарел.
Открытие связи с единственным сервером
MySqlConnection
, назначить строку
подключения и открыть связь.
Dim conn As New MySql.Data.MySqlClient.MySqlConnection
Dim myConnectionString as String
myConnectionString = "server=127.0.0.1;" _
& "uid=root;" _
& "pwd=12345;" _
& "database=test"
Try
conn.ConnectionString = myConnectionString
conn.Open()
Catch ex As MySql.Data.MySqlClient.MySqlException
MessageBox.Show(ex.Message)
End Try
MySql.Data.MySqlClient.MySqlConnection conn;
string myConnectionString;
myConnectionString = "server=127.0.0.1;uid=root;" + "pwd=12345;database=test";
try
{
conn = new MySql.Data.MySqlClient.MySqlConnection();
conn.ConnectionString = myConnectionString;
conn.Open();
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
MessageBox.Show(ex.Message);
}
MySqlConnection
:
Dim myConnectionString as String
myConnectionString = "server=127.0.0.1;" _
& "uid=root;" _
& "pwd=12345;" _
& "database=test"
Try
Dim conn As New MySql.Data.MySqlClient.MySqlConnection(myConnectionString)
conn.Open()
Catch ex As MySql.Data.MySqlClient.MySqlException
MessageBox.Show(ex.Message)
End Try
MySql.Data.MySqlClient.MySqlConnection conn;
string myConnectionString;
myConnectionString = "server=127.0.0.1;uid=root;" + "pwd=12345;database=test";
try
{
conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString);
conn.Open();
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
MessageBox.Show(ex.Message);
}
Открытие связи для многократных хостов с отказоустойчивостью
host
:
port
)
в строке подключения или схеме URI. Например:
// classic protocol example
"server=10.10.10.10:3306,192.101.10.2:3305,localhost:3306;uid=test;password=xxxx"
// X Protocol example
mysqlx://test:test@[192.1.10.10:3305,127.0.0.1:3306]
Открытие связи, используя единственную область DNS
MySql.Data.dll
из
галереи NuGet. Пакет опускает некоторые библиотеки, требуемые
.NET Framework для этой особенности. Вместо этого загрузите версию
MySQL Connector/NET
(mysql-connector-net-8.0.19.msi
) с
https://dev.mysql.com/downloads/connector/net/, затем добавьте
v4.5.2\MySql.Data.dll
как ссылку в ваш проект.
Никакие другие ссылки не требуются, если все пункты остаются в том
же самом местоположении._mysql._tcp.foo.abc.com.
),
Connector/NET использует порядок выбора сервера
foo2
, foo1
,
foo3
и foo4
.
Name TTL Class Priority Weight Port Target
_mysql._tcp.foo.abc.com. 86400 IN SRV 0 5 3306 foo1.abc.com
_mysql._tcp.foo.abc.com. 86400 IN SRV 0 10 3306 foo2.abc.com
_mysql._tcp.foo.abc.com. 86400 IN SRV 10 5 3306 foo3.abc.com
_mysql._tcp.foo.abc.com. 86400 IN SRV 20 5 3306 foo4.abc.com
dns-srv
к вашей строке подключения. Например:
var conn = new MySqlConnection("server=_mysql._tcp.foo.abc.com.;dns-srv=true;" +
"user id=user;password=****;database=test");
4.2. Соединение по TCP/IP через SSH
SslMode
(или свойства).
Значение выбора по умолчанию может измениться, в зависимости от версии
Connector/NET (см.
здесь). Экземпляр сервера MySQL не требует дополнительной конфигурации
для этого типа связи.ConnectionProtocol
должна использовать значение по умолчанию
(socket
или tcp
),
чтобы установить связь со стандартным TCP/IP по SSH.SshHostName
и
SshPort
.
Чтобы подтверждать подлинность клиента, просящего связь (определен опцией
связи SshUserName
),
можно использовать одну из следующих стратегий:SshUserName
и
SshPassword
.SshUserName
и
SshKeyFile
.SshPassPhrase
, используя файл ключей.
Недействительный пароль производит исключение.SshUserName
и
SshKeyFile
(SshPassPhrase
) и
SshPassword
.MySqlConnectionStringBuilder
для использования с классическим протоколом MySQL или класс
MySqlXConnectionStringBuilder
для X Protocol.
Тоннели SSH к MySQL поддерживаются с .NET Framework 4.5.2, .NET Standard 1.3
(.NET Core 1.1) и .NET Standard 2.2 (.NET Core 2.0).
4.2.1. Шифры SSH в Connector/NET
Одобренные шифры SSH
aes128-cbc
aes192-cbc
aes256-cbc
aes128-ctr
aes192-ctr
aes256-ctr
Устаревшие шифры SSH
3des-cbc
diffie-hellman-group14-sha1
diffie-hellman-group-exchange-sha1
hmac-ripemd160
hmac-sha1
hmac-sha1-96
Недействительные шифры SSH
arcfour
arcfour128
arcfour256
blowfish-cbc
cast128-cbc
diffie-hellman-group1-sha1
hmac-md5
hmac-md5-96
4.2.2. Примеры связи SSH для классического протокола MySQL
Основная связь SSH
MySqlConnectionStringBuilder
.
var builder = new MySqlConnectionStringBuilder();
builder.UserID = "myUser";
builder.Password = "test";
builder.Server = "localhost";
builder.SshHostName = "10.0.0.2";
builder.SshUserName = "mySshUser";
builder.SshPassword = "sshtest";
using (var connection = new MySqlConnection(builder.ConnectionString))
{
connection.Open();
connection.Close();
}
Соединение SSH с портами
using (var connection = new MySqlConnection("uid=myUser;password=test;server=localhost;port=3307;
sshHostName=10.0.0.2;sshUserName=mySshUser;sshPassword=sshtest;sshPort=23"))
{
connection.Open();
connection.Close();
}
Связь SSH с файлом ключей
using (var connection = new MySqlConnection("uid=myUser;password=test;server=localhost;port=3307;
sshHostName=10.0.0.2;sshUserName=mySshUser;sshKeyFile=C:\\keys\\myOpenSshKeyFile.ppk;
sshPassPhrase=sshTest;sshPort=23"))
{
connection.Open();
connection.Close();
}
Связь SSH с отступлением
var builder = new MySqlConnectionStringBuilder();
builder.UserID = "myUser";
builder.Password = "test";
builder.Server = "localhost";
builder.Port = 3307;
builder.SshHostName = "10.0.0.2";
builder.SshUserName = "mySshUser";
builder.SshKeyFile = @"C:\keys\noPassPhraseOpenSshKeyFile.ppk";
builder.SshPassword = "sshtest";
using (var connection = new MySqlConnection(builder.ConnectionString))
{
connection.Open();
connection.Close();
}
4.2.3. Примеры связи SSH для X-протокола
Основная связь SSH
using (var session = MySQLX.GetSession("mysqlx://myUser:test@localhost:33060?sshHostName=10.0.0.2;
sshUserName=mySshUser;sshPassword=sshTest"))
{
session.Close();
}
Связь SSH со способом SSL
var sessionOptions = {
UserID = "myUser",
Password = "test",
Server = "127.0.0.1",
Port = 3307,
SshHostName = "10.0.0.2",
SshUserName = "mySshUser",
SshKeyFile = @"C:\keys\myOpenSshKeyFile.ppk",
SshPassPhrase = "sshtest",
SslMode = MySqlSslMode.Required
};
using (var session = MySQLX.GetSession(sessionOptions))
{
session.Close();
}
4.3. Управление пулом связи в Connector/NET
Pooling
,
Connection Reset
,
Connection Lifetime
,
Cache Server Properties
,
Max Pool Size
и
Min Pool Size
. См.
раздел 4.1.MySqlConnection
.
Впоследствии, если открыт новый объект
MySqlConnection
, он создается из пула
связи, вместо того, чтобы создать новую связь. Это улучшает работу.Рекомендации
MySqlConnection
, который вручную
открываете и закрываете. Это вмешивается в способ, которым объединение
работает и может привести к непредсказуемым результатам или даже исключениям.
MySqlConnection
вручную. Вместо этого
используйте перегруженные методы, которые берут строку подключения в качестве
аргумента. С этим подходом Connector/NET автоматически создает, открывает,
закрывает и разрушает связи, используя систему объединения связи
для лучшей работы.MembershipProvider
и
RoleProvider
используют этот подход.
Большинство классов, у которых есть методы, которые берут
MySqlConnection
как аргумент, также имеют
методы, которые берут строку подключения в качестве аргумента.
Это включает MySqlDataAdapter
.MySqlCommand
,
можно использовать статические методы класс
MySqlHelper
. Эти методы берут строку подключения
в качестве аргумента, и они полностью поддерживают объединение связи.Использование ресурсов
server
:
port
)
с позволенным объединением связи. Во время выполнения Connector/NET
выбирает один из адресов из пула беспорядочно (или приоритетом, когда
обеспечен) и пытается соединиться с ним. Если попытка подключения неудачна,
Connector/NET выбирает другой адрес, пока набор адресов не будет исчерпан.
Неудачные конечные точки повторяются каждые две минуты.
Успешные связи организованы механизмом объединения связи.4.4.
Обработка ошибок связи
MySqlConnection
возвратит объект
MySqlException
.
У этого объекта есть два свойства, которые представляют интерес, когда есть
ошибки из-за неправильного обращения:Message
:
Сообщение, которое описывает текущее исключение.Number
: Код ошибки MySQL.0
: Не могу соединиться с сервером.
1045
: Неверное имя пользователя, пароль
пользователя или оба параметра.Пример Visual Basic
Dim myConnectionString as String
myConnectionString = "server=127.0.0.1;" _
& "uid=root;" _
& "pwd=12345;" _
& "database=test"
Try
Dim conn As New MySql.Data.MySqlClient.MySqlConnection(myConnectionString)
conn.Open()
Catch ex As MySql.Data.MySqlClient.MySqlException
Select Case ex.Number
Case 0
MessageBox.Show("Cannot connect to server. Contact administrator")
Case 1045
MessageBox.Show("Invalid username/password, please try again")
End Select
End Try
Пример на C#
MySql.Data.MySqlClient.MySqlConnection conn;
string myConnectionString;
myConnectionString = "server=127.0.0.1;uid=root;" +
"pwd=12345;database=test";
try
{
conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString);
conn.Open();
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
switch (ex.Number)
{
case 0:
MessageBox.Show("Cannot connect to server.Contact administrator");
break;
case 1045:
MessageBox.Show("Invalid username/password, please try again");
break;
}
}
latin1
.
Можно определить набор символов как часть строки подключения, например:
MySqlConnection myConnection = new MySqlConnection("server=127.0.0.1;uid=root;" +
"pwd=12345;database=test;Charset=latin1");
4.5.
Опции связи в Connector/NET 8.0
Опции протоколов связи
MySql.Data.MySqlClient.MySqlConnectionStringBuilder
и
MySqlX.XDevAPI.MySqlXConnectionStringBuilder
.CertificateFile
, Certificate File
null
..pfx
). Для примера использования посмотрите
раздел 6.10.2
.CertificatePassword
,
Certificate Password
null
.CertificateFile
.
Для примера использования посмотрите
раздел 6.10.2
.CertificateStoreLocation
,
Certificate Store Location
null
.CertificateThumbprint
,
Certificate Thumbprint
null
.CharacterSet
,
Character Set
,
CharSet
ConnectionProtocol
,
Protocol
,
Connection Protocol
socket
(или
tcp
).socket
или
tcp
для сокетного соединения,
используя TCP/IP.pipe
для связи именованного канала (не поддержано с X Protocol).unix
для сокетного соединения UNIX.memory
, чтобы использовать общую память
MySQL (не поддержано с X Protocol).Database
,
Initial Catalog
mysql
.dns-srv
,
dnssrv
false
.tcp
). Единственный домен DNS
может быть отображен к многократным целям (серверам), используя записи адреса
SRV. Каждая запись SRV включает имя хоста, порт, приоритет и вес.
Поддержка DNS SRV была введена в Connector/NET 8.0.19, чтобы устранить
необходимость клиентов опознать каждый возможный хост
в строке подключения, с или без объединения связи.ConnectionProtocol
)
в строке подключения нельзя, когда позволен DNS SRV.dns-srv
относится к строкам подключения,
свойство DnsSrv
объявлено в классе
MySqlConnectionStringBuilder
.
// Connection string example
var conn = new MySqlConnection("server=_mysql._tcp.example.abc.com.;dns-srv=true;user id=user;password=****;database=test");
// MySqlConnectionStringBuilder class example
var sb = new MySqlConnectionStringBuilder();
{
Server = "_mysql._tcp.example.abc.com.",
UserID = "user",
Password = "****",
DnsSrv = true,
Database = "test"
};
var conn = new MySqlConnection(sb.ConnectionString);
dns-srv
относится к строкам подключения и
анонимным объектам. Свойство DnsSrv
объявлено в
классе MySqlXConnectionStringBuilder
.
Ошибка поднята, если dns-srv=false
и схема URI
mysqlx+srv://
объединены, чтобы создать
противоречивую конфигурацию связи. Для получения дополнительной информации об
использовании элемента схемы mysqlx+srv://
в подобных URI строках подключения, посмотрите
Connections Using DNS SRV Records.
// Connection string example
var session = MySQLX.GetSession("server=_mysqlx._tcp.example.abc.com.;dns-srv=true;user id=user;password=****;database=test");
// Anonymous object example
var connstring = new
{
server = "_mysqlx._tcp.example.abc.com.",
user = "user",
password = "****",
dnssrv = true
};
var session = MySQLX.GetSession(connString);
// MySqlXConnectionStringBuilder class example
var sb = new MySqlXConnectionStringBuilder();
{
Server = "_mysqlx._tcp.example.abc.com.",
UserID = "user",
Password = "****",
DnsSrv = true,
Database = "test"
};
var session = MySQLX.GetSession(sb.ConnectionString);
Keepalive
,
Keep Alive
0
.keepalive
не
используется. До Connector/NET 6.6.7/6.7.5/6.8.4
это значение было измерено в миллисекундах.Password
,
pwd
Port
3306
.Server
,
Host
,
Data Source
,
DataSource
,
Address
(устарело),
Addr
(устарело),
Network Address
(устарело).localhost
.
// Selects the host with the highest priority (100) first
server=(address=192.10.1.52:3305,priority=60),(address=localhost:3306,priority=100);
SshHostName
,
Ssh Host Name
,
Ssh-Host-Name
null
.SshKeyFile
,
Ssh Key File
,
Ssh-Key-File
null
.SshPassPhrase
,
Ssh Pass Phrase
,
Ssh-Pass-Phrase
null
.SshPassword
,
Ssh Password
,
Ssh-Password
null
.SshPort
,
Ssh Port
,
Ssh-Port
SshUserName
,
Ssh User Name
,
Ssh-User-Name
null
.SslMode
.ConnectionProtocol
должна быть установлена в socket
или
tcp
(по умолчанию), чтобы
позволить туннелирование SSH.SslCa
,
Ssl-Ca
null
..pfx
) или путь к файлу в формате PEM
(.pem
), который содержит список доверенных
центров сертификации SSL (CA).SslMode
установлена в значение
value of Required
,
VerifyCA
или
VerifyFull
, иначе это проигнорировано.SslMode
установлена в значение
VerifyCA
или
VerifyFull
, иначе это проигнорировано.SslCert
,
Ssl-Cert
null
.VerifyFull
установлен для опции
SslMode
и опция связи
SslCa
использует сертификат PEM,
иначе это проигнорировано. Для примера использования посмотрите
раздел
6.10.1.SslKey
,
Ssl-Key
null
.VerifyFull
установлен для опции
SslMode
и
SslCa
использует сертификат PEM,
иначе это проигнорировано. Для примера использования посмотрите
раздел
6.10.1.SslMode
,
Ssl Mode
,
Ssl-Mode
Required
для 8.0.8 to 8.0.12 (все
протоколы), 8.0.13 и выше (только X Protocol).Preferred
для 8.0.13 и выше
(только классический протокол MySQL).None
не используйте SSL.
Серверы Non-SSL требуют, чтобы этот выбор был установлен в
None
явно для Connector/NET 8.0.8 или выше.Preferred
используйте SSL, если сервер
поддерживает его, но позвольте связь во всех случаях. Этот выбор был удален в
Connector/NET 8.0.8 и повторно осуществлен в 8.0.13 только
для классического протокола MySQL.Required
всегда используйте SSL.
Отрицайте связь, если сервер не поддерживает SSL.VerifyCA
всегда используйте SSL.
Проверьте центры сертификации (CA), но терпите несоответствие имен.VerifyFull
всегда используйте SSL.
Терпит неудачу, если имя хоста не правильно.tlsversion
,
tls-version
,
tls version
Tlsv1,Tlsv1.1,Tlsv1.2,Tlsv1.3
.
Решение для отступления указывает, которую версию TLS использовать.SslMode
не
None
. Этот выбор принимает единственную версию
или список версий, отделенных запятой, например,
tls-version=TLSv1.1, TLSv1.2, TLSv1.3;
.TLSv1.3
TLSv1.2
TLSv1.1
TLSv1
TLSv1.0
UserID
,
User Id
,
Username
,
Uid
,
User name
,
User
null
.
Возможности только для классического протокола MySQL
MySql.Data.MySqlClient.MySqlConnectionStringBuilder
.AllowBatch
,
Allow Batch
true
.true
, много SQL-операторов можно
послать с одним выполнением команды. Пакетные запросы должны быть отделены
определенным сервером символом разделителя.AllowLoadLocalInfile
,
Allow Load Local Infile
false
.true
, загрузка файлов из любого местоположения
позволена, независимо от пути, определенного опцией
AllowLoadLocalInfileInPath
.AllowLoadLocalInfileInPath
, Allow Load Local
Infile In Path
null
.AllowLoadLocalInfile
= false
, что является значением по
умолчанию, только файлы от безопасного пути или любого подкаталога,
определенного опцией AllowLoadLocalInfileInPath
,
могут быть загружены. Например, если /tmp
установлен как ограниченный каталог, запросы файла в
/tmp/myfile
и
/tmp/myfolder/myfile
может иметь успех. Никакие относительные пути или символьные ссылки, которые
ведут за пределы этого пути, не разрешены.AllowLoadLocalInfile
и
AllowLoadLocalInfileInPath
.AllowLoadLocalInfile
AllowLoadLocalInfileInPath
Действие true
Пустая строка или
null
.Все закачки разрешены. true
Допустимый путь.
Все закачки разрешены (путь не ограничен). \false
(по умолчанию).Пустая строка или
null
.Никакие закачки не разрешены. false
(по умолчанию).Допустимый путь.
Только закачки от указанного каталога и его подкаталогов разрешены.
AllowPublicKeyRetrieval
false
.true
сообщает Connector/NET,
что открытые ключи RSA должны быть получены от сервера и что связи, используя
классический протокол MySQL, когда SSL отключен, прервутся по умолчанию.
Исключения к поведению по умолчанию могут произойти, когда предыдущие
успешные попытки подключения были сделаны или когда объединение позволено и
объединенная связь может быть снова использована.
Это было добавлено с версии 8.0.10.AllowUserVariables
,
Allow User Variables
false
.true
указывает, что поставщик ожидает пользовательские переменные в SQL.AllowZeroDateTime
,
Allow Zero Datetime
false
.True
,
MySqlDataReader.GetValue()
вернет объект
MySqlDateTime
для даты или колонок даты и времени, которые имеют недопустимое значение,
такое как нулевая дата и время, и объект
System.DateTime
для действительных значений.
Если установлено в False
(настройка по
умолчанию), это вызывает объект System.DateTime
,
который будет возвращен для всех действительных значений
и исключение, которое будет брошено для недопустимых значений, таких как
нулевые значения даты и времени.AutoEnlist
,
Auto Enlist
true
.AutoEnlist
=
true
, как по умолчанию, связь открыта с
использованием TransactionScope
в этом
контексте, он передает изменения при передаче контекста
и откатывается назад, TransactionScope
не
передается. Однако эту функцию считают чувствительной к безопасности и
поэтому ее нельзя использовать в среднедоверенной среде.BlobAsUTF8ExcludePattern
null
.BlobAsUTF8IncludePattern
null
.CheckParameters
,
Check Parameters
true
.CommandInterceptors
,
Command Interceptors
ConnectionTimeout
,
Connect Timeout
,
Connection Timeout
15
.ConvertZeroDateTime
,
Convert Zero Datetime
false
.true
предписывает
MySqlDataReader.GetValue()
и
MySqlDataReader.GetDateTime()
вернуть
DateTime.MinValue
для колонок даты или даты и
времени, которые имеют недопустимые значения.DefaultCommandTimeout
,
Default Command Timeout
30
.DefaultTableCacheAge
,
Default Table Cache Age
60
.TableDirect
должен кэшироваться.
Для получения информации об использовании кэширования таблиц посмотрите
раздел 5.4
.ExceptionInterceptors
,
Exception Interceptors
MySqlException
.FunctionsReturnString
,
Functions Return String
false
.binary
или
varbinary
как последовательности, если у них нет
имени таблицы в метаданных.IgnorePrepare
,
Ignore Prepare
true
.true
предписывает
поставщику игнорировать любые вызовы
MySqlCommand.Prepare()
.
Эта возможность предоставляется, чтобы предотвратить проблемы с повреждением
запросов, когда используется с подготовленными запросами серверной стороны.
При использовании подготовленных запросов на серверной стороне
устанавливают эту опцию в false
.Includesecurityasserts
,
Include security asserts
false
.true
, применяя
класс MySQLClientPermissions
в частично
доверенной среде с библиотекой, установленной в GAC среды хостинга.
Посмотрите
раздел 5.17.InteractiveSession
,
Interactive
,
Interactive Session
false
.true
, клиент интерактивен.
Интерактивный клиент это тот, где установлена серверная переменная
variable CLIENT_INTERACTIVE
.
Если интерактивный клиент установлен, переменная
wait_timeout
установлена в значение
interactive_timeout
.
Клиент тогда будет иметь тайм-аут после этого периода неактивности.
Для получения дополнительной информации посмотрите
Server System Variables.IntegratedSecurity
,
Integrated Security
no
.yes
. Можно также использовать значение
sspi
как альтернативу
yes
. См.
раздел 5.3.1.Logging
false
.OldGuids
,
Old Guids
false
.BINARY(16)
на
CHAR(36)
. Это было сделано, чтобы позволить
разработчикам использовать функцию сервера
UUID()
для наполнения таблиц
GUID, UUID()
производит 36-символьные строки.
Разработчики более старых проектов могут добавить
'Old Guids=true'
к строке подключения, чтобы использовать GUID типа данных
BINARY(16)
.PersistSecurityInfo
,
Persist Security Info
false
.false
или
no
(строго рекомендуется),
уязвимая информация безопасности, такая как пароль, не возвращена как часть
связи, если связь открыта или когда-либо была в открытом статусе.
Сброс строки подключения перезагружает все значения строки подключения,
включая пароль. Допустимые значения true
,
false
, yes
и
no
.PipeName
,
Pipe Name
,
Pipe
mysql
.MySqlConnection
пытается
соединиться с MySQL на этом именованном канале.
Это относится только к платформе Windows.ProcedureCacheSize
,
Procedure Cache Size
,
procedure cache
,
procedurecache
25
.Replication
false
.RespectBinaryFlags
,
Respect Binary Flags
true
.false
предписывает Connector/NET
игнорировать двоичные флаги колонки, как установлено сервером.SharedMemoryName
,
Shared Memory Name
mysql
.memory
.
Работает только в Windows.SqlServerMode
,
Sql Server Mode
false
.true
,
позволяет Connector/NET поддержать квадратные скобки вокруг символов вместо
обратных галочек. Это позволяет мастерам Visual Studio применить скобки между
[
и ]
, чтобы
работать с Connector/NET. Этот выбор влияет на производительность, так что
должен использоваться только при необходимости.TableCaching
,
Table Cache
,
TableCache
false
TableDirect
.
Значение true
позволяет кэширование
в то время, как false
его выключает.
См. раздел
5.4.TreatBlobsAsUTF8
,
Treat BLOBs as UTF8
false
.true
предписывает столбцам типа
BLOB
иметь набор символов
utf8
с сопоставлением по умолчанию для этого
набора символов. Чтобы преобразовать только некоторые ваши колонки BLOB,
можно использовать ключевые слова
'BlobAsUTF8IncludePattern'
и
'BlobAsUTF8ExcludePattern'
.
Установите их в образец регулярного выражения, который соответствует именам
столбцов, чтобы включать или исключить соответственно.TreatTinyAsBoolean
,
Treat Tiny As Boolean
true
false
предписывает столбцам типа
TINYINT(1)
рассматриваться как
INT
. См.
Numeric Data Type Syntax для дальнейшего объяснения
TINYINT
и
BOOL
.UseAffectedRows
,
Use Affected Rows
false
.true
, связь сообщает об измененных
строках вместо найденных.UseCompression
,
Compress
,
Use Compression
false
.true
позволяет сжатие пакетов
между клиентом и сервером. Этот обмен определяется протоколом
MySQL клиент-сервер.UseDefaultCommandTimeoutForEF
,
Use Default Command
Timeout For EF
false
.EFMySqlCommand
, который установлен в свойстве
DefaultCommandTimeout
.UseOldSyntax
,
Old Syntax
,
OldSyntax
,
Use Old Syntax
false
.UsePerformanceMonitor
,
Use Performance Monitor
, UserPerfMon
,
PerfMon
false
.UseUsageAdvisor
,
Use Usage Advisor
,
Usage Advisor
false
.CacheServerProperties
,
Cache Server Properties
false
.SHOW VARIABLES
каждый раз, когда
объединенная связь возвращена. Предоставление возможности этого
урегулирования ускоряет связи в окружающей среде пула связи.
Вашему приложению не сообщают ни о каких изменениях переменных конфигурации,
сделанных другими связями.ConnectionLifeTime
,
Connection Lifetime
0
.Connection Lifetime
. Этот выбор полезен в сгруппированных конфигурациях, чтобы вызвать
выравнивание нагрузки между серверами. Значение ноля (0) устанавливает
объединенные связи с максимальным тайм-аутом связи.ConnectionReset
,
Connection Reset
false
.true
, статус связи перезагружается,
когда она восстанавливается из пула. Значение по умолчанию false
избегает дополнительной обработки сервера, получая связь, но состояние
связи не перезагружается.MaximumPoolsize
,
Max Pool Size
,
Maximum Pool Size
,
MaxPoolSize
100
.MinimumPoolSize
,
Min Pool Size
,
Minimum Pool Size
,
MinPoolSize
0
.Pooling
true
.true
, объект
MySqlConnection
оттянут из соответствующего
пула или, если необходимо, создается и добавляется к соответствующему пулу.
Допустимые значения true
,
false
, yes
и
no
.
Опции только для X Protocol
MySqlX.XDevAPI.MySqlXConnectionStringBuilder
.Auth
,
Authentication
,
Authentication Mode
MYSQL41
,
PLAIN
и EXTERNAL
.
Если опция Auth
не установлена, механизм выбран
в зависимости от типа подключения. PLAIN
используется для безопасных соединений (TLS или сокеты Unix),
MYSQL41
используется для незашифрованных связей.
EXTERNAL
используется для методов внешней
аутентификации, таких как PAM, идентификаторы для входа в систему Windows,
LDAP или Kerberos (EXTERNAL
в настоящее время не поддерживается).Auth
не поддерживается для классических
связей протокола MySQL и вернет
NotSupportedException
.Compression
,
use-compression
preferred
.zstd_stream
,
lz4_message
и
deflate_stream
. Алгоритм
deflate_stream
поддерживается для использования
с .NET Core, но не с .NET Framework.compression-algorithms
,
чтобы определить один или более поддержанных алгоритмов в различном
порядке. Об алгоритмах договариваются в порядке, обеспеченном клиентом.
Для получения дополнительной информации об использовании посмотрите опцию
compression-algorithms
.Compression
принимает следующие значения:preferred
, чтобы
применять сжатие данных, если сервер поддерживает алгоритмы, выбранные
клиентом. Иначе данные посылают и получают без сжатия.required
, чтобы
гарантировать, что сжатие используется или закончить связь и возвратить
сообщение об ошибке.disabled
, чтобы
выключить сжатие данных.compression-algorithms
,
CompressionAlgorithms
Compression
должно быть установлено в to preferred
или в
required
.
Неподдержанные алгоритмы проигнорированы.lz4_message
или
lz4
.zstd_stream
или
zstd
.deflate_stream
или
deflate
(недопустим для
.NET Framework).
// Compression option set to preferred (default)
MySQLX.GetSession("mysqlx://test:test@localhost:3306?compression-algorithms=[lz4_message,deflate]
MySQLX.GetSession("mysqlx://test:test@localhost:3306?compressionalgorithms=lz4
MySQLX.GetSession("mysqlx://test:test@localhost:3306?compression=preferred&compression-algorithms=[zstd]
// Compression option set to required
MySQLX.GetSession("mysqlx://test:test@localhost:3306?compression=required&compression-algorithms=[zstd_stream,lz4_message]
MySQLX.GetSession("mysqlx://test:test@localhost:3306?compression=required&compression-algorithms=[lz4]
MySQLX.GetSession("mysqlx://test:test@localhost:3306?compression=required&compression-algorithms=zstd_stream
// Connection string
MySQLX.GetSession("server=localhost;port=3306;uid=test;password=test;compression=required;compression-algorithms=lz4_message;")
// Anonymous object
MySQLX.GetSession(new {
server = "localhost",
port = "3306",
uid = "test",
password = "test",
compression="required",
compressionalgorithms = "deflate_stream" })
connection-attributes
,
ConnectionAttributes
true
.performance_schema_session_connect_attrs_size
. Полный размер блока данных должен быть меньше, чем значение этой
серверной переменной. Для получения общей информации о признаках связи
посмотрите Performance Schema Connection Attribute Tables.true
), значением типа Boolean
(true
или false
,
чтобы позволить или отключить набор атрибута по умолчанию), список, ноль или
больше спецификаторов key=value
, отделенных
запятыми (чтобы быть посланными в дополнение к набору атрибутов по
умолчанию). В рамках списка недостающее значение ключа оценивается как
значение NULL
:
// Sessions
MySQLX.GetSession($"mysqlx://user@host/schema")
MySQLX.GetSession($"mysqlx://user@host/schema?connection-attributes")
MySQLX.GetSession($"mysqlx://user@host/schema?connection-attributes=true")
MySQLX.GetSession($"mysqlx://user@host/schema?connection-attributes=false")
MySQLX.GetSession($"mysqlx://user@host/schema?connection-attributes=[attr1=val1,attr2,attr3=]")
MySQLX.GetSession($"mysqlx://user@host/schema?connection-attributes=[]")
// Pooling
MySQLX.GetClient($"mysqlx://user@host/schema")
MySQLX.GetClient($"mysqlx://user@host/schema?connection-attributes")
MySQLX.GetClient($"mysqlx://user@host/schema?connection-attributes=true")
MySQLX.GetClient($"mysqlx://user@host/schema?connection-attributes=false")
MySQLX.GetClient($"mysqlx://user@host/schema?connection-attributes=[attr1=val1,attr2,attr3=]")
MySQLX.GetClient($"mysqlx://user@host/schema?connection-attributes=[]")
_
, потому что такие имена резервируются
для внутренних признаков.Connect-Timeout
,
ConnectTimeout
10000
.
MySQLX.GetSession("mysqlx://test:test@localhost:33060?connect-timeout=2000");
MySQLX.GetSession("server=localhost;user=test;port=33060;connect-timeout=2000");
MySQLX.GetSession(new {server="localhost", user="test",
port=33060, connecttimeout=2000 });
MySqlXConnectionStringBuilder
:
var builder = new MySqlXConnectionStringBuilder("server=localhost;user=test;port=33060");
builder.ConnectTimeout = 2000;
MySQLX.GetSession(builder.ConnectionString);
SslCrl
,
Ssl-Crl
null
.SslCrl
действительна для использования, применение ее поднимает сообщение
NotSupportedException
.SslEnable
,
Ssl-Enable
false
.true
установит SslMode
=
Required
, false
установит SslMode
=
None
.SslMode
=
None
явно.
4.6. Опции строки подключения в Connector/NET 6.10
Основные опции
AllowBatch
,
Allow Batch
true
.true
, многократные SQL-операторы можно
послать одним выполнением команды. Отметьте: начиная с MySQL 4.1.1,
пакетные запросы должны быть отделены определенным сервером символом
разделителя. Запросы, посланные в более ранние версии MySQL, должны быть
отделены точкой с запятой (;).AllowLoadLocalInfile
,
Allow Load Local Infile
false
.AllowUserVariables
,
Allow User Variables
false
.true
указывает, что поставщик
ожидает пользовательские переменные в SQL. Этот выбор был введен в
версии 5.2.2.AllowZeroDateTime
,
Allow Zero Datetime
false
.True
,
MySqlDataReader.GetValue()
вернет объект
MySqlDateTime
для колонок даты или даты и времени, которые имеют недопустимое значение,
таких как нулевая дата и время, но объект
System.DateTime
объект для действительных
значений. Если False
(настройка по умолчанию),
это вернет объект System.DateTime
для всех
действительных значений и будет брошено исключение для недопустимых.AutoEnlist
,
Auto Enlist
true
.AutoEnlist
=
true
, что является значением по умолчанию,
связь открывается с использованием
TransactionScope
. Данные переданы, когда
передается область или связь откатывается назад, если
TransactionScope
не передается.
Однако эту функцию считают чувствительной к безопасности и поэтому ее нельзя
использовать в среднедоверенной среде.BlobAsUTF8ExcludePattern
null
.BlobAsUTF8IncludePattern
null
.CertificateFile
,
Certificate File
null
..pfx
). Для примера использования посмотрите
раздел 6.10.
Этот выбор был введен в версии 6.2.1.CertificatePassword
,
Certificate Password
null
.CertificateFile
. См.
раздел 6.10.
Опция добавлена в версии 6.2.1.CertificateStoreLocation
,
Certificate Store Location
null
.CertificateThumbprint
,
Certificate Thumbprint
null
.CharacterSet
,
CharSet
,
Character Set
CheckParameters
,
Check Parameters
true
.CommandInterceptors
,
Command Interceptors
ConnectionProtocol
,
Protocol
,
Connection Protocol
socket
или
tcp
.socket
или
tcp
для сокетного соединения.pipe
для связи именованного канала.
unix
для сокетного соединения UNIX.
memory
использовать общую память MySQL.
ConnectionTimeout
,
Connect Timeout
,
Connection Timeout
ConvertZeroDateTime
,
Convert Zero Datetime
false
.true
MySqlDataReader.GetValue()
и
MySqlDataReader.GetDateTime()
вернут
DateTime.MinValue
для колонок даты или даты и
времени, которые имеют недопустимое значение.Database
,
Initial Catalog
DefaultCommandTimeout
,
Default Command Timeout
DefaultTableCacheAge
,
Default Table Cache Age
TableDirect
должен кэшироваться. См.
раздел 5.4.
Опция добавлена в версии 6.4.ExceptionInterceptors
,
Exception Interceptors
MySqlException
.FunctionsReturnString
,
Functions Return String
false
.binary
или
varbinary
как последовательности, если у них нет
имени таблицы в метаданных.IgnorePrepare
,
Ignore Prepare
true
.true
,
приказывает поставщику игнорировать любые вызовы
MySqlCommand.Prepare()
.
Эта возможность предоставляется, чтобы предотвратить проблемы с
повреждением запросов, когда используется с подготовленными запросами на
стороне сервера. При использовании серверной подготовки запросов установите
опцию в false. Введена в версиях 5.0.3 и 1.0.9.IncludeSecurityAsserts
,
Include Security Asserts
false
.true
используя
класс MySQLClientPermissions
в частично доверенной окружающей среде, с библиотекой, установленной в GAC
хостинга. Это требование новое для приложений частичного доверия в
Connector/NET 6.6.4 и выше, см.
раздел 5.17.IntegratedSecurity
,
Integrated Security
yes
(можно также использовать
sspi
как альтернативу
yes
. См.
раздел 5.3.1. Это относится только к платформе Windows и
было введено в версии 6.4.4.InteractiveSession
,
Interactive
,
Interactive Session
false
.true
, клиент интерактивный, то есть
серверная переменная CLIENT_INTERACTIVE
установлена. Если интерактивный клиент установлен, переменная
wait_timeout
установлена в значение
interactive_timeout
.
Клиент будет отключен после этого периода бездеятельности. См.
Server System Variables.Keepalive
,
Keep Alive
keepalive
не используется. До Connector/NET
6.6.7/6.7.5/6.8.4 значение было измерено в миллисекундах.Logging
false
.OldGuids
,
Old Guids
false
.BINARY(16)
на
CHAR(36)
. Это было сделано, чтобы позволить
разработчикам использовать функцию сервера
UUID()
для создания GUID
таблиц, UUID()
выдает 36-символьную строку.
Разработчики более старых прриложений могут добавить
'Old Guids=true'
к строке подключения, чтобы использовать GUID типа данных
BINARY(16)
.Password
,
pwd
PersistSecurityInfo
,
Persist Security Info
false
.false
или
no
(строго рекомендуется),
уязвимая информация безопасности, такая как пароль, не возвращена как часть
связи, если связь открыта или когда-либо была в открытом статусе
Сброс строки подключения перезагружает все значения
строки подключения, включая пароль. Признанные значения:
true
, false
,
yes
и no
.PipeName
,
Pipe Name
,
Pipe
MySqlConnection
пытается
соединиться с MySQL на этом именованном канале.
Это относится только к платформе Windows.Port
ProcedureCacheSize
,
Procedure Cache Size
,
Procedure Cache
,
ProcedureCache
Replication
false
.RespectBinaryFlags
,
Respect Binary Flags
true
.false
означает, что
Connector/NET игнорирует двоичные флаги колонки, как установлено сервером.
Этот выбор был добавлен в версии 5.1.3.Server
,
Host
,
Data Source
,
DataSource
,
Address
,
Addr
,
Network Address
localhost
.SharedMemoryName
,
Shared Memory Name
memory
.
Это относится только к платформе Windows.SqlServerMode
,
Sql Server Mode
false
.true
, позволяет Connector/NET
поддержать квадратные скобки вокруг символов вместо обратных галочек.
Это позволяет мастерам Visual Studio использовать символы скобки с []
и работать с Connector/NET. Этот выбор должен использоваться только при
необходимости, так как влияет на производительность.
Этот выбор был введен в версии 6.3.1.SslMode
,
Ssl Mode
,
Ssl-Mode
Preferred
.None
: Не используйте SSL.Preferred
: Используйте SSL, если сервер
поддерживает его, но позвольте связь во всех случаях.Required
: Всегда используйте SSL.
Отрицайте связь, если сервер не поддерживает SSL.VerifyCA
: Всегда используйте SSL.
Проверьте CA, но терпите несоответствие имени.VerifyFull
: Всегда используйте SSL.
Терпит неудачу, если имя хоста не правильно.TableCaching
,
Table Cache
,
tablecache
false
.TableDirect
. Значение
true
включает, а
false
выключает кэш. См.
раздел 5.4.
TreatBlobsAsUTF8
,
Treat BLOBs as UTF8
false
.true
предписывает
колонкам BLOB
иметь набор символов
utf8
с сопоставлением по умолчанию для
этого набора символов.TreatTinyAsBoolean
,
Treat Tiny As Boolean
true
.false
предписывает
TINYINT(1)
рассматриваться как
INT
. См.
Numeric Data Type Syntax для подробностей о
TINYINT
и BOOL
.UseAffectedRows
,
Use Affected Rows
false
.true
, связь сообщает об измененных
строках вместо найденных.UseCompression
,
Compress
,
Use Compression
false
.true
позволяет сжатие пакетов,
обмененных между клиентом и сервером. Этот обмен определяется протоколом
MySQL клиент-сервер.UseDefaultCommandTimeoutForEF
,
Use Default Command
Timeout For EF
false
.EFMySqlCommand
,
который установлен в значение свойства
DefaultCommandTimeout
.UseOldSyntax
,
Old Syntax
,
OldSyntax
,
Use Old Syntax
false
.UsePerformanceMonitor
,
Use Performance Monitor
,
UserPerfmon
,
Perfmon
false
.UseProcedureBodies
,
Use Procedure Bodies
,
Procedure Bodies
true
.true
, значение по умолчанию,
Connector/NET ожидает, что тело процедуры будет видимым. Это позволяет ему
определить типы параметра и их порядок. Установите выбор в
false
, когда пользователь, соединяющийся с базой
данных, не имеет права
SELECT
для таблицы
mysql.proc
(хранимые процедуры)
или не может просмотреть
INFORMATION_SCHEMA.ROUTINES
,
а затем явно задайте типы всех параметров перед вызовом и добавьте параметры
к команде в том же самом порядке, как они
появляются в определении процедуры.Check Parameters
.UserID
,
User Id
,
Username
,
Uid
,
User name
,
User
UseUsageAdvisor
,
Use Usage Advisor
,
Usage Advisor
false
.
Варианты объединения связи
CacheServerProperties
,
Cache Server Properties
false
.SHOW VARIABLES
каждый раз, когда объединенная
связь возвращена. Предоставление возможности этого урегулирования ускоряет
связи в среде пула связи. Вашему запросу не сообщают ни о каких изменениях
переменных конфигурации, сделанных другими связями.
Этот выбор был введен в версии 6.3.ConnectionLifeTime
,
Connection Lifetime
Connection Lifetime
.
Это полезно в сгруппированных конфигурациях, чтобы вызвать выравнивание
нагрузки между машинами. Значение 0 заставляет объединенные связи иметь
максимальный тайм-аут.ConnectionReset
,
Connection Reset
false
.true
, состояние связи перезагружается,
когда она восстанавливается из пула. Значение по умолчанию false уменьшит
нагрузку на сервер, получая связь, но состояние
связи не перезагружается.MaximumPoolsize
,
Maximum Pool Size
,
Max Pool Size
,
MaxPoolSize
MinimumPoolSize
,
Minimum Pool Size
,
Min Pool Size
,
MinPoolSize
Pooling
true
.true
, объект
MySqlConnection
оттянут из соответствующего
пула или, если необходимо, создается и добавляется к соответствующему пулу.
Признанные значения true
,
false
, yes
и
no
.
Найди своих коллег! |
Вы можете направить письмо администратору этой странички, Алексею Паутову.