int mysql_options(MYSQL *mysql, enum mysql_option option, const char *arg)
Описание
Может использоваться для установки дополнительных опций соединения и влияет на режим работы соединения. Эта функция может вызываться многократно для установки нескольких опций.
Функция 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 Раздел 8.4.3.42, «mysql_real_connect() ».
|
local-infile[=(0|1)] |
Если аргумент не задан или указан аргумент != 0 , то разрешено использование LOAD DATA LOCAL .
|
max_allowed_packet |
Максимальный размер пакета, который клиент может читать с сервера. |
password |
Пароль по умолчанию. |
pipe |
Использовать именованные каналы для соединения с сервером MySQL на NT. |
protocol=(TCP | SOCKET | PIPE | MEMORY) |
Какой протокол использовать для подключения к серверу (новшество 4.1.0). |
port |
Номер порта по умолчанию. |
return-found-rows |
Предписывает mysql_info() возвращать найденные строки вместо обновления их при выполнении UPDATE .
|
shared-memory-base-name=name |
Имя блока общей памяти (shared memory name), которое следует использовать для подключения к серверу (по умолчанию "MySQL"). Новшество в MySQL 4.1. |
socket |
Номер сокета по умолчанию. |
user |
Пользователь по умолчанию. |
Следует помнить, что timeout
замещен на connect-timeout
, но timeout
временно еще работает.
Для более подробной информации о файлах опций см. раздел See Раздел 4.1.2, «Файлы параметров my.cnf
».
Возвращаемые значения
Нуль при успешном выполнении. Величина, отличная от нуля, если используется неизвестная опция.
Пример
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
.