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.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
