mysql_options()


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

Descrição

Pode ser usado para definir opções extras de conexão e afetar o comportamento de uma conexão. Esta função pode ser chamada várias vezes para definir diversas opções.

mysql_options() deve ser chamado depois de mysql_init() e antes de mysql_connect() ou mysql_real_connect().

O argumento option é a opção que você que definir; o argumento arg é o valor para a opção. Se a opção é um inteiro, então arg deve apontar para o valor do inteiro.

Valores possíveis para as opções:

Opção Tipo de argumento Função
MYSQL_OPT_CONNECT_TIMEOUT unsigned int * Tempo limite de conexão em segundos.
MYSQL_OPT_COMPRESS Não usado Usa o protocolo cliente/servidor compactado.
MYSQL_OPT_READ_TIMEOUT unsigned int * Limite de tempo para a leitura do servidor (funciona atualmente apenas no Windows em conexões TCP/IP)
MYSQL_OPT_WRITE_TIMEOUT unsigned int * Limite de tempo para a escrita no servidor (funciona atualmente apenas no Windows em conexões TCP/IP)
MYSQL_OPT_LOCAL_INFILE ponteiro para unsigned integer opcional Se nenhum ponteiro for dado ou se apontar para um unsigned int != 0 o comando LOAD LOCAL INFILE está habilitado.
MYSQL_OPT_NAMED_PIPE Não usado Usa named pipes para conectar ao servidor MariaDB no NT.
MYSQL_INIT_COMMAND char * Comando para executar ao conectar ao servidor MySQL. Será automaticamente executado ao se reconectar.
MYSQL_READ_DEFAULT_FILE char * Lê opções do arquivo de opções definido no lugar de my.cnf.
MYSQL_READ_DEFAULT_GROUP char * Lê opções do grupo indicado no arquivo my.cnf ou no arquivo especificado com MYSQL_READ_DEFAULT_FILE.
MYSQL_OPT_PROTOCOL unsigned int * Tipo de protocolo usado. Deve ser um dos valores apresentados em mysql_protocol_type definido no mysql.h.
MYSQL_SHARED_MEMORY_BASE_NAME char* Nome do objeto em meória para comunicação com o servidor. Deve ser o mesmo que a opção -shared-memory-base-name usada para o servidor mysqld no qual você quer se conectar.

Note que o grupo client é sempre lido se você utiliza MYSQL_READ_DEFAULT_FILE ou MYSQL_READ_DEFAULT_GROUP.

O grupo especificado no arquivo de opçõs pode conter as seguintes opções:

Opção Descrição
connect-timeout Tempo limite de conexão em segundos. No Linux este tempo limite também é utilizado para esperar pela primeira resposta do servidor
compress Utiliza o protocolo cliente/servidor compactado.
database Conecta a este banco de dados se nenhum banco de dados for especificado no comando de conexão.
debug Opções de depuração.
disable-local-infile Disabilita o uso de LOAD DATA LOCAL.
host Nome de máquina padrão.
init-command Comando para executar ao conectar ao servidor MySQL. Será executado automaticamente ao reconectar.
interactive-timeout O mesmo que o especificado em CLIENT_INTERACTIVE para mysql_real_connect(). Leia "mysql_real_connect()".
local-infile[=(0|1)] Se não houver argumento ou o argumento for diferente de 0 habilita o uso de LOAD DATA LOCAL.
max_allowed_packet Tamanho máximo dos pacotes que o cliente pode ler do servidor.
password Senha padrão.
pipe Usa named pipes para conectar ao servidor MariaDB no NT.
protocol=(TCP | SOCKET | PIPE | MEMORY) Qual protocolo usar ao conectar no servidor (Novo na versão 4.1)
port Número padrão da porta.
return-found-rows Diz ao mysql_info() para retornar registros encontrados no lugar de registros atualizados ao usar UPDATE.
shared-memory-base-name=name Nome da memória comprtilhada utilizada para conectar ao servidor (o padrão é 'MySQL'). Novo na versão 4.1.
socket Número padrão do socket.
user Usuário padrão.

Note que timeout foi substituido por connect-timeout, mas timeout ainda funcionará por enquanto.

Para maiores informações sobre arquivos de opções, veja "Arquivo de Opções my.cnf".

Valor Retornado

Zero em caso de sucesso. Diferente de zero se você utilizar uma opção desconhecida.

Exemplo

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));
}

O exemplo acima diz ao cliente para usar o protocolo cliente/servidor compactado e ler a opção adicional da seção odbc no arquivo de opções my.cnf.

Retornar