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
.