MySQL.RU .:. Одобрено лучшими российскими программистами

Справочное руководство по MySQL

8.4.3.159 mysql_options()

8.4.3.159 mysql_options()

int mysql_options(MYSQL *mysql, enum mysql_option option, const char *arg)

8.4.3.160 Описание

Может использоваться для установки дополнительных опций соединения и влияет на режим работы соединения. Эта функция может вызываться многократно для установки нескольких опций.

Функция mysql_options() должна вызываться после функции mysql_init() и перед функцией mysql_connect() или mysql_real_connect().

Аргумент option представляет собой опцию, которую требуется установить; аргумент arg является величиной этой опции. Если данная опция является целым числом, то аргумент arg должен указывать на величину целого числа.

Возможные значения опций:

Опция Тип аргумента Функция
MYSQL_OPT_CONNECT_TIMEOUT unsigned int * Время ожидания для соединения в секундах.
MYSQL_OPT_COMPRESS Не используется Использовать сжатие в клиент-серверном протоколе.
MYSQL_OPT_LOCAL_INFILE Опциональный указатель на uint Если указатель не задан или указывает на unsigned int != 0 команда LOAD LOCAL INFILE разрешена.
MYSQL_OPT_NAMED_PIPE Не используется Использовать именованные каналы для соединения с сервером MySQL на NT.
MYSQL_INIT_COMMAND char * Команда для исполнения при подключении к серверу MySQL. При восстановлении соединения будет снова автоматически выполнена.
MYSQL_READ_DEFAULT_FILE char * Читать опции из указанного файла опций вместо чтения из файла `my.cnf'.
MYSQL_READ_DEFAULT_GROUP char * Читать опции из указанной группы из файла `my.cnf' или из файла заданного в MYSQL_READ_DEFAULT_FILE.

Следует помнить, что группа client читается всегда при использовании MYSQL_READ_DEFAULT_FILE или MYSQL_READ_DEFAULT_GROUP.

Упомянутая группа в файле опций может содержать следующие опции:

Опция Описание
connect-timeout Время ожидания для соединения в секундах. Для Linux это время ожидания используется также для ожидания первого ответа с сервера.
compress Использовать сжатие в клиент-серверном протоколе.
database Подключиться к этой базе данных, если никакая база данных не была указана в данной команде подключения.
debug Опции отладки.
disable-local-infile Блокировка использования LOAD DATA LOCAL.
host Имя хоста по умолчанию.
init-command Команда для исполнения при подключении к серверу MySQL. При восстановлении соединения будет снова автоматически выполнена.
interactive-timeout Аналогично заданию CLIENT_INTERACTIVE в mysql_real_connect(). See section 8.4.3.171 mysql_real_connect().
local-infile[=(0|1)] Если аргумент не задан или указан аргумент != 0, то разрешено использование LOAD DATA LOCAL.
password Пароль по умолчанию.
pipe Использовать именованные каналы для соединения с сервером MySQL на NT.
port Номер порта по умолчанию.
return-found-rows Предписывает mysql_info() возвращать найденные строки вместо обновления их при выполнении UPDATE.
socket Номер сокета по умолчанию.
user Пользователь по умолчанию.

Следует помнить, что timeout замещен на connect-timeout, но timeout временно еще работает.

Для более подробной информации о файлах опций см. раздел See section 4.1.2 Файлы параметров `my.cnf'.

8.4.3.161 Возвращаемые значения

Нуль при успешном выполнении. Величина, отличная от нуля, если используется неизвестная опция.

8.4.3.162 Пример

MYSQL mysql;

mysql_init(&mysql);
mysql_options(&mysql,MYSQL_OPT_COMPRESS,0);
mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"odbc");
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));
}

Вышеприведенный пример запрашивает клиента использовать сжатый клиент-серверный протокол и читать дополнительные опции из секции odbc в файле `my.cnf'.