Conecte uma aplicação C# ao LindormTable usando a biblioteca MySQL.Data e a sintaxe SQL de tabela ampla.
Pré-requisitos
Antes de começar, verifique se você tem:
LindormTable versão 2.6.2 ou posterior. Para verificar ou atualizar sua versão, consulte Notas de versão do LindormTable e Atualizar a versão secundária do mecanismo de uma instância Lindorm.
Recurso de compatibilidade com MySQL ativado na instância Lindorm. Consulte Ative o recurso de compatibilidade com MySQL.
Endereço IP do cliente adicionado à lista de permissões da instância. Consulte Configure uma lista de permissões.
Configure um projeto .NET
Execute os comandos a seguir para crie um projeto e adicionar a dependência MySQL.Data:
dotnet new console --framework net7.0
dotnet add package MySql.Data -v 8.0.11
Se o .NET 7.0 não estiver instalado, baixe-o no site oficial do .NET.
Conectar-se ao LindormTable
Etapa 1: Configure a string de conexão
Crie uma string de conexão com os parâmetros a seguir:
string connStr = "server=<endpoint>;UID=<username>;database=<database>;port=33060;password=<password>";
Substitua os espaços reservados pelos valores reais:
|
Parâmetro |
Descrição |
|
|
Endpoint compatível com MySQL do LindormTable. Para obter o endpoint, consulte Visualize endpoints. Use o endereço VPC para conexões a partir de uma instância ECS ou o endereço Internet para conexões pela rede pública. |
|
|
Nome de usuário do LindormTable. Para redefinir uma senha esquecida, consulte Alterar a senha do usuário. |
|
|
Senha do LindormTable. |
|
|
Banco de dados de destino. O nome padrão é |
|
|
Valor fixo: |
Para aplicações hospedadas em ECS, use uma conexão Virtual Private Cloud (VPC) para reduzir a latência de rede e aumentar a segurança. Para conectar pela rede pública, ative primeiro o endpoint público: no console, acesse Database Connections > Wide Table Engine e clique em Enable Public Endpoint.
Etapa 2: Abrir uma conexão e execute uma consulta
O exemplo a seguir usa MySqlConnection para abrir uma conexão, MySqlCommand para defina uma consulta SQL e MySqlDataReader para iterar sobre os resultados.
MySqlConnection conn = new MySqlConnection(connStr);
try
{
Console.WriteLine("Connecting to MySQL...");
conn.Open();
string sql = "show databases;";
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Console.WriteLine(rdr[0]);
}
rdr.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
conn.Close();
Console.WriteLine("Done.");
Exemplo completo
Veja a seguir um exemplo completo e executável que se conecta ao LindormTable e lista todos os bancos de dados.
Substitua <endpoint>, <username> e <password> pelos valores reais antes de execute.
using System;
using MySql.Data.MySqlClient;
namespace connectLindorm
{
class Program
{
static void Main(string[] args)
{
// server: MySQL-compatible endpoint for LindormTable
// UID: your LindormTable username
// database: the database to connect to
// port: fixed to 33060 for the MySQL protocol
// password: your LindormTable password
string connStr = "server=<endpoint>;UID=<username>;database=default;port=33060;password=<password>";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
Console.WriteLine("Connecting to MySQL...");
conn.Open();
string sql = "show databases";
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Console.WriteLine(rdr[0]);
}
rdr.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
conn.Close();
Console.WriteLine("Done.");
}
}
}
Se a instância contiver apenas o banco de dados default, a saída será:
Connecting to MySQL...
default
information_schema
Done.
Próximos passos
Gerencie bancos de dados e tabelas usando a sintaxe SQL de tabela ampla pela mesma conexão.
Em produção, passe a string de conexão por variáveis de ambiente em vez de codificar credenciais diretamente no código-fonte.