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.