Não atualizar configurações do servidor em conexões no pool usando MySQL Connector/Net

Exemplo de string de conexão com MySQL usando MySQL Connector/Net

Exemplo de string de conexão

Essa é uma string de conexão MySQL Connector/Net para se conectar com MySQL.

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

Conexão através de diferentes linguagens

C#

Exemplo de código em C# de conexão com MySQL usando MySQL Connector/Net:

using System;
using MySql.Data.MySqlClient;

class DatabaseConnection {
    static void Main() {
        // Define a string de conexão MySQL usando MySQL Connector/Net
        string connectionString = "Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;CacheServerProperties=True;";

        using (MySqlConnection connection = new MySqlConnection(connectionString)) {
            try {
                // Abre a conexão
                connection.Open();

                Console.WriteLine("Conexão aberta com sucesso!");

                //
                // INSIRA SEU CÓDIGO AQUI
                //
            }
            catch (MySqlException ex) {
                // Erros específicos do MySqlException
                Console.WriteLine("Erro: " + ex.Message);
            }
            catch (Exception ex) {
                // Outros erros
                Console.WriteLine("Erro: " + ex.Message);            
            }
            finally {
                // Fecha a conexão
                if (connection != null) {
                    connection.Close();
                    Console.WriteLine("Conexão fechada.");
                }
            }
        }
    }
}

Alternativamente, você pode usar o código abaixo, que usa a classe DbProviderFactory:

using System;
using System.Data.Common;

class DatabaseConnection {
    static void Main() {
        /// Define a string de conexão MySQL usando MySQL Connector/Net
        string connectionString = "Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;CacheServerProperties=True;";

        // Cria o objeto factory usando o namespace MySql.Data.MySqlClient
        DbProviderFactory factory = DbProviderFactories.GetFactory("MySql.Data.MySqlClient");

        using (DbConnection connection = factory.CreateConnection()) {
            if (connection == null) {
                Console.WriteLine("Não foi possível criar a conexão.");
                return;
            }

            connection.ConnectionString = connectionString;

            try {
                // Abre a conexão
                connection.Open();
                Console.WriteLine("Conexão aberta com sucesso!");

                //
                // INSIRA SEU CÓDIGO AQUI
                //
            }
            catch (DbException ex) {
                // Erros específicos do DbException
                Console.WriteLine("Erro: " + ex.Message);
            }
            catch (Exception ex) {
                // Outros erros
                Console.WriteLine("Erro: " + ex.Message);
            }
            finally {
                // Fecha a conexão
                if (connection != null) {
                    connection.Close();
                    Console.WriteLine("Conexão fechada.");
                }
            }
        }
    }
}

VB.NET

Exemplo de código em VB.NET de conexão com MySQL usando MySQL Connector/Net:

Imports System
Imports MySql.Data.MySqlClient

Public Class DatabaseConnection
    Public Shared Sub Main()
        ' Define a string de conexão MySQL usando MySQL Connector/Net
        Dim connectionString As String = "Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;CacheServerProperties=True;"

        Using connection As New MySqlConnection(connectionString)
            Try
                ' Abre a conexão
                connection.Open()

                Console.WriteLine("Conexão aberta com sucesso!")

                '
                ' INSIRA SEU CÓDIGO AQUI
                '

            Catch ex As MySqlException
                ' Erros específicos do MySqlException
                Console.WriteLine("Erro: " & ex.Message)
            Catch ex As Exception
                ' Outros erros
                Console.WriteLine("Erro: " & ex.Message)
            Finally
                ' Fecha a conexão
                If connection IsNot Nothing Then
                    connection.Close()
                    Console.WriteLine("Conexão fechada.")
                End If
            End Try
        End Using
    End Sub
End Class

Alternativamente, você pode usar o código abaixo, que usa a classe DbProviderFactory:

Imports System
Imports System.Data.Common

Public Class DatabaseConnection
    Public Shared Sub Main()
        ' Define a string de conexão MySQL usando MySQL Connector/Net
        Dim connectionString As String = "Server=Servidor;Database=BancoDeDados;Uid=Usuario;Pwd=Senha;CacheServerProperties=True;"

        ' Cria o objeto factory usando o namespace MySql.Data.MySqlClient
        Dim factory As DbProviderFactory = DbProviderFactories.GetFactory("MySql.Data.MySqlClient")

        Using connection As DbConnection = factory.CreateConnection()
            If connection Is Nothing Then
                Console.WriteLine("Não foi possível criar a conexão.")
                Return
            End If

            connection.ConnectionString = connectionString

            Try
                ' Abre a conexão
                connection.Open()
                Console.WriteLine("Conexão aberta com sucesso!")

                '
                ' INSIRA SEU CÓDIGO AQUI
                '

            Catch ex As DbException
                ' Erros específicos do DbException
                Console.WriteLine("Erro: " & ex.Message)
            Catch ex As Exception
                ' Outros erros
                Console.WriteLine("Erro: " & ex.Message)
            Finally
                ' Fecha a conexão
                If connection IsNot Nothing Then
                    connection.Close()
                    Console.WriteLine("Conexão fechada.")
                End If
            End Try
        End Using
    End Sub
End Class