Spec-Zone.ru › MySQL Connectors 1.0

5.4.51 mysql_options4()

int
mysql_options4(MYSQL *mysql,
               enum mysql_option option,
               const void *arg1,
               const void *arg2)

Описание

mysql_options4() похожа на mysql_options(), но имеет дополнительный четвёртый аргумент, позволяющий передать два значения для указанного во втором аргументе параметра.

Следующий список описывает разрешённые параметры, их действие и то, как arg1 и arg2 используются.

  • MYSQL_OPT_CONNECT_ATTR_ADD (типы аргументов: char *, char *)

    Этот параметр добавляет пару атрибут-значение в текущий набор атрибутов соединения, которые передаются серверу во время подключения. Оба аргумента являются указателями на строки с завершающим нулём. Первая и вторая строки обозначают ключ и значение соответственно. Если ключ пустой или уже существует в текущем наборе атрибутов соединения, возникает ошибка. Сравнение имени ключа с существующими ключами чувствительно к регистру.

    Имена ключей, начинающиеся с подчёркивания (_), зарезервированы для внутреннего использования и не должны создаваться программами-приложениями. Эта конвенция позволяет MySQL вводить новые атрибуты без конфликтов с атрибутами приложения.

    mysql_options4() накладывает ограничение в 64 КБ на общий размер данных атрибутов соединения, которые она принимает. Для вызовов, которые приводят к превышению этого ограничения, возникает ошибка. Проверки ограничения размера атрибутов также выполняются на стороне сервера. Подробнее см. , где также описано, как Performance Schema экспонирует атрибуты соединения через таблицы и .

    См. также описания параметров MYSQL_OPT_CONNECT_ATTR_RESET и MYSQL_OPT_CONNECT_ATTR_DELETE в описании функции mysql_options().

Значения возврата

Ноль в случае успеха. Отличное от нуля значение, если указан неизвестный параметр.

Ошибки

  • Указано дублирующееся имя атрибута.

  • Имя ключа было пустым или количество данных атрибутов соединения ключ-значение превышает ограничение 64 КБ.

  • Нет памяти.

Пример

Этот пример демонстрирует вызовы, которые задают атрибуты соединения:

MYSQL mysql;

mysql_init(&mysql);
mysql_options(&mysql,MYSQL_OPT_CONNECT_ATTR_RESET, 0);
mysql_options4(&mysql,MYSQL_OPT_CONNECT_ATTR_ADD, "key1", "value1");
mysql_options4(&mysql,MYSQL_OPT_CONNECT_ATTR_ADD, "key2", "value2");
mysql_options4(&mysql,MYSQL_OPT_CONNECT_ATTR_ADD, "key3", "value3");
mysql_options(&mysql,MYSQL_OPT_CONNECT_ATTR_DELETE, "key1");
if (!mysql_real_connect(&mysql,"host","user","passwd","database",0,NULL,0))
{
    fprintf(stderr, "Failed to connect to database: Error: %s\n",
        mysql_error(&mysql));
}

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/c-api-5.7-en/mysql-options4.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API