Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este início rápido demonstra como se conectar a um servidor flexível Banco de Dados do Azure para PostgreSQL usando um aplicativo C#. Ele mostra como usar instruções SQL para consultar, inserir, atualizar e excluir dados no banco de dados. As etapas deste artigo pressupõem que você esteja familiarizado com o desenvolvimento em C# e que seja iniciante no trabalho com o Banco de Dados do Azure para PostgreSQL.
Pré-requisitos
Para este início rápido você precisa:
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Crie uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL , se você não tiver uma.
- Use o banco de dados postgres vazio disponível no servidor ou crie um banco de dados.
- Instale o SDK do .NET para sua plataforma (Windows, Ubuntu Linux ou macOS).
- Instale o Visual Studio para criar seu projeto.
- Instale o pacote NuGet Npgsql no Visual Studio.
Obter informações de conexão
Obtenha as informações de conexão necessárias para se conectar ao servidor flexível Banco de Dados do Azure para PostgreSQL. Você precisa do nome do servidor totalmente qualificado e das credenciais de autenticação.
Use o portal do Azure:
No menu à esquerda no portal Azure, selecione Todos os recursos e pesquise o servidor que você criou.
Selecione o nome do servidor.
No menu de recursos, selecione Visão geral.
Copie os valores mostrados como Ponto de Extremidade e Login de Administrador.
Se você esquecer a senha da autenticação do administrador, redefina-a usando o botão Redefinir senha .
Etapa 1: conectar e inserir dados
Use o código a seguir para se conectar e carregar os dados usando as instruções SQL CREATE TABLE e INSERT INTO. O código usa a classe NpgsqlCommand com estes métodos:
- Open() para estabelecer uma conexão com o banco de dados de servidor flexível do Banco de Dados do Azure para PostgreSQL.
- CreateCommand() para definir a propriedade CommandText.
- ExecuteNonQuery() para executar os comandos de banco de dados.
Importante
Substitua os parâmetros Host, DBName, User e Password pelos valores que você especificou quando criou o servidor e o banco de dados.
using System;
using Npgsql;
namespace Driver
{
public class AzurePostgresCreate
{
// Obtain connection string information from the portal
//
private static string Host = "mydemoserver.postgres.database.azure.com";
private static string User = "mylogin";
private static string DBname = "postgres";
private static string Password = "<server_admin_password>";
private static string Port = "5432";
static void Main(string[] args)
{
// Build connection string using parameters from portal
//
string connString =
String.Format(
"Server={0};Username={1};Database={2};Port={3};Password={4};SSLMode=Prefer",
Host,
User,
DBname,
Port,
Password);
using (var conn = new NpgsqlConnection(connString))
{
Console.Out.WriteLine("Opening connection");
conn.Open();
using (var command = new NpgsqlCommand("DROP TABLE IF EXISTS inventory", conn))
{
command.ExecuteNonQuery();
Console.Out.WriteLine("Finished dropping table (if existed)");
}
using (var command = new NpgsqlCommand("CREATE TABLE inventory(id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER)", conn))
{
command.ExecuteNonQuery();
Console.Out.WriteLine("Finished creating table");
}
using (var command = new NpgsqlCommand("INSERT INTO inventory (name, quantity) VALUES (@n1, @q1), (@n2, @q2), (@n3, @q3)", conn))
{
command.Parameters.AddWithValue("n1", "banana");
command.Parameters.AddWithValue("q1", 150);
command.Parameters.AddWithValue("n2", "orange");
command.Parameters.AddWithValue("q2", 154);
command.Parameters.AddWithValue("n3", "apple");
command.Parameters.AddWithValue("q3", 100);
int nRows = command.ExecuteNonQuery();
Console.Out.WriteLine(String.Format("Number of rows inserted={0}", nRows));
}
}
Console.WriteLine("Press RETURN to exit");
Console.ReadLine();
}
}
}
Está tendo algum problema? Fale conosco.
Etapa 2: Ler dados
Use o código a seguir para conectar-se e ler os dados usando uma instrução SQL SELECT. O código usa a classe NpgsqlCommand com estes métodos:
- Open() para estabelecer uma conexão com o PostgreSQL.
- CreateCommand() e ExecuteReader() para executar os comandos de banco de dados.
- Read() a fim de avançar para os registros nos resultados.
- GetInt32() e GetString() para analisar os valores do registro.
Importante
Substitua os parâmetros Host, DBName, User e Password pelos valores que você especificou quando criou o servidor e o banco de dados.
using System;
using Npgsql;
namespace Driver
{
public class AzurePostgresRead
{
// Obtain connection string information from the portal
//
private static string Host = "mydemoserver.postgres.database.azure.com";
private static string User = "mylogin";
private static string DBname = "postgres";
private static string Password = "<server_admin_password>";
private static string Port = "5432";
static void Main(string[] args)
{
// Build connection string using parameters from portal
//
string connString =
String.Format(
"Server={0}; User Id={1}; Database={2}; Port={3}; Password={4};SSLMode=Prefer",
Host,
User,
DBname,
Port,
Password);
using (var conn = new NpgsqlConnection(connString))
{
Console.Out.WriteLine("Opening connection");
conn.Open();
using (var command = new NpgsqlCommand("SELECT * FROM inventory", conn))
{
var reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(
string.Format(
"Reading from table=({0}, {1}, {2})",
reader.GetInt32(0).ToString(),
reader.GetString(1),
reader.GetInt32(2).ToString()
)
);
}
reader.Close();
}
}
Console.WriteLine("Press RETURN to exit");
Console.ReadLine();
}
}
}
Está tendo algum problema? Fale conosco.
Etapa 3: Atualizar dados
Use o código a seguir para se conectar ao banco de dados e atualizar os dados usando uma instrução UPDATE SQL. O código usa a NpgsqlCommand classe com os seguintes métodos:
- Open() para estabelecer uma conexão com o servidor flexível do Banco de Dados do Azure para PostgreSQL.
-
CreateCommand() para definir a
CommandTextpropriedade. - ExecuteNonQuery() para executar os comandos de banco de dados.
Importante
Substitua os parâmetros Host, DBName, User e Password pelos valores que você especificou quando criou o servidor e o banco de dados.
using System;
using Npgsql;
namespace Driver
{
public class AzurePostgresUpdate
{
// Obtain connection string information from the portal
//
private static string Host = "mydemoserver.postgres.database.azure.com";
private static string User = "mylogin";
private static string DBname = "postgres";
private static string Password = "<server_admin_password>";
private static string Port = "5432";
static void Main(string[] args)
{
// Build connection string using parameters from portal
//
string connString =
String.Format(
"Server={0}; User Id={1}; Database={2}; Port={3}; Password={4};SSLMode=Prefer",
Host,
User,
DBname,
Port,
Password);
using (var conn = new NpgsqlConnection(connString))
{
Console.Out.WriteLine("Opening connection");
conn.Open();
using (var command = new NpgsqlCommand("UPDATE inventory SET quantity = @q WHERE name = @n", conn))
{
command.Parameters.AddWithValue("n", "banana");
command.Parameters.AddWithValue("q", 200);
int nRows = command.ExecuteNonQuery();
Console.Out.WriteLine(String.Format("Number of rows updated={0}", nRows));
}
}
Console.WriteLine("Press RETURN to exit");
Console.ReadLine();
}
}
}
Está tendo algum problema? Fale conosco.
Etapa 4: Excluir dados
Use o código a seguir para se conectar ao banco de dados e excluir dados usando uma instrução DELETE SQL.
O código usa a NpgsqlCommand classe com o método Open() para estabelecer uma conexão com o banco de dados do servidor Banco de Dados do Azure para PostgreSQL flexível. Em seguida, o código usa o método CreateCommand(), define a CommandText propriedade e chama o método ExecuteNonQuery() para executar os comandos do banco de dados.
Importante
Substitua os parâmetros Host, DBName, User e Password pelos valores que você especificou quando criou o servidor e o banco de dados.
using System;
using Npgsql;
namespace Driver
{
public class AzurePostgresDelete
{
// Obtain connection string information from the portal
//
private static string Host = "mydemoserver.postgres.database.azure.com";
private static string User = "mylogin@mydemoserver";
private static string DBname = "postgres";
private static string Password = "<server_admin_password>";
private static string Port = "5432";
static void Main(string[] args)
{
// Build connection string using parameters from portal
//
string connString =
String.Format(
"Server={0}; User Id={1}; Database={2}; Port={3}; Password={4};SSLMode=Prefer",
Host,
User,
DBname,
Port,
Password);
using (var conn = new NpgsqlConnection(connString))
{
Console.Out.WriteLine("Opening connection");
conn.Open();
using (var command = new NpgsqlCommand("DELETE FROM inventory WHERE name = @n", conn))
{
command.Parameters.AddWithValue("n", "orange");
int nRows = command.ExecuteNonQuery();
Console.Out.WriteLine(String.Format("Number of rows deleted={0}", nRows));
}
}
Console.WriteLine("Press RETURN to exit");
Console.ReadLine();
}
}
}
Limpar os recursos
Para limpar todos os recursos usados durante este início rápido, exclua o grupo de recursos usando o seguinte comando:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes
Conteúdo relacionado
- Gerenciar o Banco de Dados do Azure para PostgreSQL usando o portal do Azure.
- Início Rápido: Usar o Python para conectar e consultar dados no Banco de Dados do Azure para PostgreSQL.
- Início Rápido: Usar Java e JDBC com o Banco de Dados do Azure para PostgreSQL.
- Início Rápido: Use a linguagem Go para conectar e consultar dados no Banco de Dados do Azure para PostgreSQL.
- Início Rápido: Use o PHP para conectar e consultar dados no Banco de Dados do Azure para PostgreSQL.
- Início Rápido: conectar e consultar usando a CLI do Azure com Banco de Dados do Azure para PostgreSQL.
- Início Rápido: Importar dados do Banco de Dados do Azure para PostgreSQL no Power BI.