MySQL

Strings de conexão para MySQL

MySQL Connector/Net

Padrão

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;

Alternativa de Named pipes

Server=Servidor;Port=-1;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;

O valor do porto de -1 indica ao driver para usar o protocolo de rede named pipes. Isso está disponível apenas no Windows. O valor é ignorado se o soquete Unix for usado.

Comprimir comunicação de rede entre cliente e servidor

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;UseCompression=True;

Conexão de socket Unix

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;Protocol=memory;Shared Memory Name=MYSQL;

É possível definir explicitamente o nome do objeto de memória compartilhada usado para comunicação.

Contar linhas alteradas em vez de linhas encontradas

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;UseAffectedRows=True;

Esta opção está disponível a partir da versão 5.2.6 do Connector/NET.

Desativar cache de Stored procedure

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;ProcedureCacheSize=0;

O padrão é 25, o que significa que os metadados da stored procedure (como tipos de dados de entrada/saída, etc.) para as 25 últimas procedures chamadas serão armazenados em cache na memória do cliente.

Esta opção está disponível a partir da versão Connector/NET 5.0.2

Desativar lotes

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;AllowBatch=False;

Desativar participação em transação

O uso de transações automáticas de escopo (comportamento padrão) pode causar problemas em ambientes de confiança média.

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;AutoEnlist=False;

Desativar pool de conexões

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;Pooling=False;

Especificando conjunto de caracteres

Use esta para especificar qual conjunto de caracteres usar para codificar consultas enviadas ao servidor.

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;CharSet=utf8;

Atenção! Use o valor em minúsculas utf8 e não em maiúsculas UTF8, pois isso falhará.

Observe que os conjuntos de resultados ainda são retornados no conjunto de caracteres dos dados retornados.

Especificando porta TCP

Server=Servidor;Port=1234;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;

A porta 3306 é a padrão para MySql.

O valor é ignorado se o Unix socket for usado.

Especificando protocolo de rede

Use esta para especificar qual protocolo de rede usar para a conexão.

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;Protocol=socket;

"socket" é o valor padrão usado se a chave não for especificada. O valor "tcp" é equivalente a "socket".

Use "pipe" para usar uma conexão de pipes nomeados, "unix" para uma conexão de socket Unix e "memory" para usar memória compartilhada do MySQL.

Especificando tempo limite de tentativa de conexão

Use este para especificar o tempo em segundos para esperar por uma conexão com o servidor antes de encerrar a tentativa e receber um erro.

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;Connection Timeout=5;

Especificar tempo limite de comando padrão

Use esta para especificar um tempo limite de comando padrão para a conexão. Observe que a propriedade na string de conexão não substitui a propriedade de tempo limite de comando individual em um objeto de comando individual.

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;default command timeout=20;

Esta opção está disponível a partir da versão Connector/NET 5.1.4.

Forçar criptografia

Sempre use SSL. Negue a conexão se o servidor não suportar SSL.

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;SslMode=Required;

Esta opção está disponível a partir da versão 6.2.1 do Connector/NET.

Habilitar contadores de desempenho

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;UsePerformanceMonitor=True;

Ignorar correspondência de tipo e ordem de parâmetro para procedimentos armazenados

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;UseProcedureBodies=False;

O comportamento padrão é ler as tabelas mysql.proc/INFORMATION_SCHEMA.ROUTINES e tentar mapear os valores dos parâmetros de comando fornecidos para os parâmetros dos procedimentos chamados e converter os tipos de valores de acordo.

Isso pode ser problemático se as permissões para as tabelas de informações de sproc mencionadas forem insuficientes.

O driver não mapeará automaticamente os parâmetros, então você deve definir manualmente os tipos de parâmetros e também deve garantir que os parâmetros sejam adicionados ao objeto de comando na ordem exata como apareceu na definição do procedimento.

Esta opção está disponível a partir da versão Connector/NET 5.0.4

Inativando declarações preparadas

Use esta opção para instruir o provedor a ignorar qualquer comando prepare statements e prevenir problemas de corrupção com comandos prepare statements do lado do servidor.

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;Ignore Prepare=true;

A opção foi adicionada nas versões 5.0.3 e 1.0.9 do Connector/NET.

Invalid DateTime's 1

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;AllowZeroDateTime=True;

Retorna um objeto MySqlDateTime para valores inválidos e um objeto System.DateTime para valores válidos.

Invalid DateTime's 2

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;ConvertZeroDateTime=True;

Retorna um objeto System.DateTime com valor System.DateTime.MinValue para valores inválidos e um objeto System.DateTime para valores válidos.

Manter soquetes TCP ativos

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;Keepalive=10;

Número de segundos entre cada pacote keep-alive enviado.

Múltiplos servidores

Use isso para se conectar a um servidor em uma configuração de servidor replicado sem se preocupar com qual servidor usar.

Server=Servidor1,Servidor2,Servidor3;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;

Não atualizar configurações do servidor em conexões no pool

Uma conexão pode ser de longa duração no pool, no entanto, as configurações do servidor de conexão são atualizadas (comando SHOW VARIABLES) cada vez que retornam ao pool. Isso faz com que o uso do cliente do objeto de conexão esteja atualizado com as configurações corretas do servidor. No entanto, isso causa uma viagem de ida e volta e para otimizar o desempenho do pool, esse comportamento pode ser desativado.

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;CacheServerProperties=True;

Esta opção está disponível a partir da versão Connector/NET 6.3

Permitir colchetes em volta de símbolos (ao invés de crases)

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;sqlservermode=True;

Isso permite que os assistentes do Visual Studio que colocam símbolos entre [] funcionem com o Connector/Net. Esta opção causa uma redução de desempenho, então só deve ser usada se necessário.

Esta opção está disponível a partir da versão 6.3.1 do Connector/NET

Permitir Variáveis de Usuário

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;AllowUserVariables=True;

Esta opção está disponível a partir da versão 5.2.2 do Connector/NET

Pooling de Conexão

A partir da versão 6.2, as conexões ociosas são removidas do pool, liberando recursos no cliente (sockets) e no servidor (sockets e threads). Não mantenha manualmente conexões (globais) e abra/feche. Mantenha a criação e disposição do objeto de conexão o mais breve possível; isso pode ser contraintuitivo, mas os mecanismos de pooling cuidarão bem do cache e seu código será mais limpo.

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;Pooling=True;

Este é o comportamento padrão.

Protocolo de memória compartilhada

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;Protocol=memory;Shared Memory Name=MYSQL;

É possível definir explicitamente o nome do objeto de memória compartilhada usado para comunicação.

Protocolo Named Pipes

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;Protocol=pipe;PipeName=mypipename;

É possível definir explicitamente o nome do pipe usado para comunicação, se não for definido, "mysql" é o valor padrão.

Pular verificações de parâmetros para rotinas armazenadas

O comportamento padrão é que os parâmetros para rotinas armazenadas (procedimentos armazenados) sejam verificados contra o servidor

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;CheckParameters=False;

Alguns erros relacionados a permissões e conversões de valores foram corrigidos ao usar esta opção de conexão.

Reciclar conexões no pool

Isso é útil em cenários de balanceamento de carga quando os servidores disponíveis mudam e você não quer 100 conexões constantes no pool apontando para apenas um servidor.

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;ConnectionLifeTime=300;

Especificado em segundos, a quantidade de tempo após a criação do objeto de conexão em que a conexão será destruída. A destruição só acontecerá quando as conexões forem devolvidas ao pool.

Redefinição de estado de conexão ao ser obtido do pool

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;ConnectionReset=True;

Faz uma viagem adicional ao servidor ao obter uma conexão do pool e o estado da conexão será redefinido.

Registrar operações ineficientes de banco de dados

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;UseUsageAdvisor=True;

SSL com um certificado baseado em armazenamento pessoal

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;SSL Mode=Required;Certificate Store Location=CurrentUser;

Esta opção está disponível a partir da versão 6.2.1 do Connector/NET.

SSL com um certificado baseado em arquivo

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;SSL Mode=Required;CertificateFile=C:\Diretorio\Arquivo.pfx;CertificatePassword=pass;

Esta opção está disponível a partir da versão 6.2.1 do Connector/NET.

SSL com um certificado específico de loja pessoal baseado em impressão digital

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;SSL Mode=Required;Certificate Store Location=CurrentUser;Certificate Thumbprint=479436009a40f3017a145cf8479e7694d7aadef0;

Esta opção está disponível a partir da versão 6.2.1 do Connector/NET.

Tamanho do Pool de Conexão

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;MinimumPoolSize=10;maximumpoolsize=50;

Os valores padrão são 0 e 100.

Usando criptografia (antiga)

Este ativa a criptografia SSL para todos os dados enviados entre o cliente e o servidor. O servidor deve ter um certificado instalado.

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;Encrypt=true;

Esta opção está disponível para a versão 5.0.3 até 6.2.1 do Connector/NET. A partir da versão 6.2.1, utilize a opção SslMode em vez desta.

Usando criptografia (novo)

Use SSL se o servidor suportar, mas permita a conexão em todos os casos

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;SslMode=Preferred;

Esta opção está disponível a partir da versão 6.2.1 do Connector/NET.

Usar autenticação do Windows

Server=Servidor;Database=BancoDeDados;IntegratedSecurity=yes;Uid=auth_windows;

Esta opção está disponível a partir da versão Connector/NET 6.4.4

O Plugin de Autenticação Nativa do Windows deve estar instalado para que isso funcione.

Usar cache de tabela

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;tablecache=true;DefaultTableCacheAge=30;

Especificar DefaultTableCacheAge é opcional, o valor padrão é 60 segundos.

Esta opção está disponível a partir da versão Connector/NET 6.4

Usar GUIDs BINARY(16)

Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;OldGuids=True;

Esta opção está disponível a partir da versão Connector/NET 6.1.1

MySQL OLEDB

Padrão

Provider=MySQLProv;Data Source=BancoDeDados;User Id=Usuario;Password=Senha;

dotConnect for MySQL

Padrão

User ID=Usuario;Password=Senha;Host=localhost;Port=3306;Database=BancoDeDados;Direct=true;Protocol=TCP;Compress=false;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;

eInfoDesigns.dbProvider

Padrão

Data Source=BancoDeDados;Database=BancoDeDados;User ID=Usuario;Password=Senha;Command Logging=false;

MyODBC 2.50

Banco de dados local

Driver={mySQL};Server=localhost;Option=16834;Database=BancoDeDados;

Banco de dados remoto

Driver={mySQL};Server=Servidor;Option=131072;Stmt=;Database=BancoDeDados;User=Usuario;Password=Senha;

Especificando porta TCP/IP

Driver={mySQL};Server=Servidor;Port=3306;Option=131072;Stmt=;Database=BancoDeDados;User=Usuario;Password=Senha;

O driver usa o valor padrão da porta 3306, se não for especificado na string de conexão, pois 3306 é a porta padrão para MySQL.

MySQL Connector/ODBC 3.51

Banco de dados local

Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=BancoDeDados;User=Usuario;Password=Senha;Option=3;

Banco de dados remoto

Driver={MySQL ODBC 3.51 Driver};Server=Servidor;Database=BancoDeDados;User=Usuario;Password=Senha;Option=3;

Especificando conjunto de caracteres

Driver={MySQL ODBC 3.51 Driver};Server=Servidor;charset=UTF8;Database=BancoDeDados;User=Usuario;Password=Senha;Option=3;

Observe que a opção charset funciona a partir da versão 3.51.17 do driver.

Especificando porta TCP/IP

Driver={MySQL ODBC 3.51 Driver};Server=Servidor;Port=3306;Database=BancoDeDados;User=Usuario;Password=Senha;Option=3;

O driver usa o valor padrão da porta 3306, se não for especificado na string de conexão, pois 3306 é a porta padrão para MySQL.

Especificando socket

Este especifica o arquivo de socket Unix ou o pipe nomeado do Windows para conectar. Usado apenas para conexões de cliente local.

Driver={MySQL ODBC 3.51 Driver};Server=Servidor;Database=BancoDeDados;User=Usuario;Password=Senha;Socket=MySQL;Option=3;

No Windows, a variável socket é o nome do pipe nomeado usado para conexões de cliente local. O valor padrão é MySQL.

Em plataformas Unix, a variável socket é o nome do arquivo de socket usado para conexões de cliente local. O padrão é /tmp/mysql.sock.

Usando SSL

Driver={MySQL ODBC 3.51 Driver};Server=Servidor;Database=BancoDeDados;User=Usuario;Password=Senha;sslca=C:\Diretorio\Arquivo.pem;sslcert=C:\Diretorio\Arquivo.pem;sslkey=C:\Diretorio\Arquivo.pem;sslverify=1;Option=3;

SSLCA especifica o caminho para um arquivo com uma lista de SSL CAs confiáveis

SSLCERT especifica o nome do arquivo de certificado SSL a ser usado para estabelecer uma conexão segura.

SSLKEY especifica o nome do arquivo de chave SSL a ser usado para estabelecer uma conexão segura.

MySQL Connector/ODBC 5.1

Banco de dados local

Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=BancoDeDados;User=Usuario;Password=Senha;Option=3;

Banco de dados remoto

Driver={MySQL ODBC 5.1 Driver};Server=Servidor;Database=BancoDeDados;User=Usuario;Password=Senha;Option=3;

Em máquina de 64 bits

Parece que precisamos apontar para MSDASQL para que o driver ODBC (32 bits) funcione em máquinas de 64 bits.

Provider=MSDASQL;Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=BancoDeDados;User=Usuario;Password=Senha;Option=3;

Especificando conjunto de caracteres

Driver={MySQL ODBC 5.1 Driver};Server=Servidor;charset=UTF8;Database=BancoDeDados;User=Usuario;Password=Senha;Option=3;

Especificando porta TCP/IP

Driver={MySQL ODBC 5.1 Driver};Server=Servidor;Port=3306;Database=BancoDeDados;User=Usuario;Password=Senha;Option=3;

O driver usa o valor padrão da porta 3306, se não for especificado na string de conexão, pois 3306 é a porta padrão para MySQL.

Especificando socket

Este especifica o arquivo de socket Unix ou o pipe nomeado do Windows para conectar. Usado apenas para conexões de cliente local.

Driver={MySQL ODBC 5.1 Driver};Server=Servidor;Database=BancoDeDados;User=Usuario;Password=Senha;Socket=MySQL;Option=3;

No Windows, a variável socket é o nome do pipe nomeado usado para conexões de cliente local. O valor padrão é MySQL.

Em plataformas Unix, a variável socket é o nome do arquivo de socket usado para conexões de cliente local. O padrão é /tmp/mysql.sock.

Usando SSL

Driver={MySQL ODBC 5.1 Driver};Server=Servidor;Database=BancoDeDados;User=Usuario;Password=Senha;sslca=C:\Diretorio\Arquivo.pem;sslcert=C:\Diretorio\Arquivo.pem;sslkey=C:\Diretorio\Arquivo.pem;sslverify=1;Option=3;

SSLCA especifica o caminho para um arquivo com uma lista de SSL CAs confiáveis

SSLCERT especifica o nome do arquivo de certificado SSL a ser usado para estabelecer uma conexão segura.

SSLKEY especifica o nome do arquivo de chave SSL a ser usado para estabelecer uma conexão segura.

Versão 5.2.5 novo nome

O MySQL ODBC Connector versão 5.2.5 e superior se registra como "MySQL ODBC 5.2 Unicode Driver" e "MySQL ODBC 5.2 ANSI Driver".

Driver={MySQL ODBC 5.2 ANSI Driver};Server=localhost;Database=BancoDeDados; User=Usuario;Password=Senha;Option=3;

Consulte as strings de conexão da versão 5.2 AQUI

Versão 64 bits do driver

Observe o "w" no nome do driver.

Driver={MySQL ODBC 5.2w Driver};Server=localhost;Database=BancoDeDados;User=Usuario;Password=Senha;Option=3;

MySQL Connector/ODBC 5.2

Banco de dados local

Driver={MySQL ODBC 5.2 ANSI Driver};Server=localhost;Database=BancoDeDados;User=Usuario;Password=Senha;Option=3;

Banco de dados remoto

Driver={MySQL ODBC 5.2 ANSI Driver};Server=Servidor;Database=BancoDeDados;User=Usuario;Password=Senha;Option=3;

Em máquina de 64 bits

Parece que precisamos apontar para MSDASQL para que o driver ODBC (32 bits) funcione em máquinas de 64 bits.

Provider=MSDASQL;Driver={MySQL ODBC 5.2 ANSI Driver};Server=localhost;Database=BancoDeDados;User=Usuario;Password=Senha;Option=3;

Especificando conjunto de caracteres

Driver={MySQL ODBC 5.2 ANSI Driver};Server=Servidor;charset=UTF8;Database=BancoDeDados;User=Usuario;Password=Senha;Option=3;

Especificando porta TCP/IP

Driver={MySQL ODBC 5.2 ANSI Driver};Server=Servidor;Port=3306;Database=BancoDeDados;User=Usuario;Password=Senha;Option=3;

O driver usa o valor padrão da porta 3306, se não for especificado na string de conexão, pois 3306 é a porta padrão para MySQL.

Especificando socket

Este especifica o arquivo de socket Unix ou o pipe nomeado do Windows para conectar. Usado apenas para conexões de cliente local.

Driver={MySQL ODBC 5.2 ANSI Driver};Server=Servidor;Database=BancoDeDados;User=Usuario;Password=Senha;Socket=MySQL;Option=3;

No Windows, a variável socket é o nome do pipe nomeado usado para conexões de cliente local. O valor padrão é MySQL.

Em plataformas Unix, a variável socket é o nome do arquivo de socket usado para conexões de cliente local. O padrão é /tmp/mysql.sock.

Usando SSL

Driver={MySQL ODBC 5.2 ANSI Driver};Server=Servidor;Database=BancoDeDados;User=Usuario;Password=Senha;sslca=C:\Diretorio\Arquivo.pem;sslcert=C:\Diretorio\Arquivo.pem;sslkey=C:\Diretorio\Arquivo.pem;sslverify=1;Option=3;

SSLCA especifica o caminho para um arquivo com uma lista de SSL CAs confiáveis

SSLCERT especifica o nome do arquivo de certificado SSL a ser usado para estabelecer uma conexão segura.

SSLKEY especifica o nome do arquivo de chave SSL a ser usado para estabelecer uma conexão segura.

Versão Unicode do driver

Driver={MySQL ODBC 5.2 UNICODE Driver};Server=localhost;Database=BancoDeDados;User=Usuario;Password=Senha;Option=3;

"MySQL ODBC 5.2 UNICODE Driver" é o novo nome para "MySQL ODBC 5.1w Driver".

"MySQL ODBC 5.2 ANSI Driver" é o novo nome para "MySQL ODBC 5.1a Driver".

MySQLDriverCS

Padrão

Location=Servidor;Data Source=BancoDeDados;User ID=Usuario;Password=Senha;Port=3306;

SevenObjects MySqlClient

Padrão

Host=Servidor;UserName=Usuario;Password=Senha;Database=BancoDeDados;