Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa guida introduttiva illustra come connettersi a un'istanza del server flessibile del Database di Azure per PostgreSQL usando un'applicazione C#. Spiega come usare le istruzioni SQL per eseguire query, inserire, aggiornare ed eliminare dati nel database. I passaggi descritti in questo articolo presuppongono che abbiate familiarità con lo sviluppo in C# e che siate nuovi nell'utilizzo di Azure Database per PostgreSQL.
Prerequisiti
Per questa guida di avvio rapido, è necessario:
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Crea un'istanza di un server flessibile PostgreSQL di Azure, se non ne hai già una disponibile.
- Usare il database postgres vuoto disponibile nel server o creare un nuovo database.
- Installare l'SDK .NET per la propria piattaforma (Windows, Ubuntu Linux o macOS) a seconda della propria piattaforma.
- Installare Visual Studio per compilare il progetto.
- Installare il pacchetto NuGet Npgsql in Visual Studio.
Ottenere informazioni di connessione
Ottenere le informazioni di connessione necessarie per connettersi all'istanza del server flessibile di Database di Azure per PostgreSQL. Sono necessari il nome del server completo e le credenziali di accesso.
Tramite il portale di Azure:
Nel menu a sinistra in portale di Azure fare clic su Tutte le risorse e quindi cercare il server creato.
Fare clic sul nome del server.
Nel menu della risorsa selezionare Panoramica.
Copiare i valori visualizzati come Account di accesso endpoint e amministratore.
Se si dimentica la password dell'account di accesso dell'amministratore, è possibile reimpostarla usando il pulsante Reimposta password .
Passaggio 1: Connettersi e inserire dati
Usare il codice seguente per connettersi e caricare i dati usando le istruzioni SQL CREATE TABLE e INSERT INTO. Il codice usa la classe NpgsqlCommand con i metodi:
- Open() per stabilire una connessione al database del server flessibile di Database di Azure per PostgreSQL.
- CreateCommand() per impostare la proprietà CommandText.
- ExecuteNonQuery() per eseguire i comandi di database.
Importante
Sostituire i parametri Host, DBName, User e Password con i valori specificati al momento della creazione del server e del database.
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();
}
}
}
Passaggio 2: Leggere i dati
Usare il codice seguente per connettersi e leggere i dati usando un'istruzione SQL SELECT. Il codice usa la classe NpgsqlCommand con i metodi:
- Open() per stabilire una connessione con PostgreSQL.
- CreateCommand() e ExecuteReader() per eseguire i comandi di database.
- Read() per passare al record successivo nei risultati.
- GetInt32() e GetString() per analizzare i valori nel record.
Importante
Sostituire i parametri Host, DBName, User e Password con i valori specificati al momento della creazione del server e del database.
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();
}
}
}
Passaggio 3: Aggiornare i dati
Usare il codice seguente per connettersi e aggiornare i dati usando un'istruzione SQL UPDATE. Il codice usa la classe NpgsqlCommand con i metodi:
- Open() per stabilire una connessione all'istanza flessibile del server di Azure Database per PostgreSQL.
- CreateCommand() per impostare la proprietà CommandText.
- ExecuteNonQuery() per eseguire i comandi di database.
Importante
Sostituire i parametri Host, DBName, User e Password con i valori specificati al momento della creazione del server e del database.
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();
}
}
}
Passaggio 4: Eliminare i dati
Usare il codice seguente per connettersi ed eliminare i dati usando un'istruzione SQL DELETE.
Il codice usa la classe NpgsqlCommand con il metodo Open() per stabilire una connessione al database flessibile del server flessibile di Database di Azure per PostgreSQL. Il codice usa quindi il metodo CreateCommand(), imposta la proprietà CommandText e chiama il metodo ExecuteNonQuery() per eseguire i comandi di database.
Importante
Sostituire i parametri Host, DBName, User e Password con i valori specificati al momento della creazione del server e del database.
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();
}
}
}
Pulire le risorse
Per pulire tutte le risorse usate in questo argomento di avvio rapido, eliminare il gruppo di risorse con il comando seguente:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes
Contenuto correlato
- Gestire Database di Azure per PostgreSQL usando il portale di Azure.
- Guida introduttiva: Usare Python per connettersi ed eseguire query sui dati in Database di Azure per PostgreSQL.
- Guida introduttiva: Usare Java e JDBC con Database di Azure per PostgreSQL.
- Guida introduttiva: Usare il linguaggio Go per connettersi ed eseguire query sui dati in Database di Azure per PostgreSQL.
- Guida introduttiva: Usare PHP per connettersi ed eseguire query sui dati in Database di Azure per PostgreSQL.
- Avvio rapido: Connettersi ed eseguire query con l'interfaccia della riga di comando di Azure con Database di Azure per PostgreSQL.
- Guida introduttiva: Importare dati da Database di Azure per PostgreSQL in Power BI.