Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Schnellstart wird gezeigt, wie Sie mithilfe einer C#-Anwendung eine Verbindung mit einer Instanz von Azure Database for PostgreSQL – Flexibler Server herstellen. Es wird veranschaulicht, wie Sie SQL-Anweisungen zum Abfragen, Einfügen, Aktualisieren und Löschen von Daten in der Datenbank verwenden. Bei den Schritten in diesem Artikel wird davon ausgegangen, dass Sie mit der Entwicklung mit C# vertraut sind und mit Azure Database for PostgreSQL noch nicht vertraut sind.
Voraussetzungen
Für diese Schnellstartanleitung benötigen Sie Folgendes:
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Erstellen Sie eine Azure-Datenbank für flexible Serverinstanz von PostgreSQL , wenn Sie keine haben.
- Verwenden Sie die leere Postgres-Datenbank, die auf dem Server verfügbar ist, oder erstellen Sie eine neue Datenbank.
- Installieren Sie das .NET SDK für Ihre Plattform (Windows, Ubuntu Linux oder macOS).
- Installieren Sie Visual Studio, um Ihr Projekt zu erstellen.
- Installieren Sie das NuGet-Paket Npgsql in Visual Studio.
Abrufen von Verbindungsinformationen
Rufen Sie die Verbindungsinformationen ab, die zum Herstellen einer Verbindung mit der Instanz von Azure Database for PostgreSQL – Flexibler Server erforderlich sind. Sie benötigen den vollqualifizierten Servernamen und die Anmeldeinformationen.
Verwenden des Azure-Portals:
Klicken Sie im Azure-Portal im linken Menü auf Alle Ressourcen, und suchen Sie nach dem erstellten Server.
Klicken Sie auf den Servernamen.
Wählen Sie im Ressourcenmenü Übersicht aus.
Kopieren Sie die Werte, die als Endpunkt und Administrationsanmeldung angezeigt werden.
Sollten Sie das Kennwort der Administrationsanmeldung vergessen, können Sie es über die Schaltfläche Kennwort zurücksetzen zurücksetzen.
Schritt 1: Herstellen einer Verbindung und Einfügen von Daten
Verwenden Sie den folgenden Code, um eine Verbindung herzustellen und die Daten zu laden, indem Sie die SQL-Anweisungen CREATE TABLE und INSERT INTO verwenden. Im Code wird die NpgsqlCommand-Klasse mit einer der folgenden Methoden verwendet:
- Open() zum Herstellen einer Verbindung mit der Datenbank in Azure Database for PostgreSQL – Flexibler Server.
- CreateCommand() zum Festlegen der Eigenschaft „CommandText“
- ExecuteNonQuery() zum Ausführen der Datenbankbefehle
Wichtig
Ersetzen Sie die Parameter „Host“, „DBName“, „User“ und „Password“ durch die Werte, die Sie beim Erstellen des Servers und der Datenbank angegeben haben.
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();
}
}
}
Treten Probleme auf? Teilen Sie es uns mit.
Schritt 2: Lesen von Daten
Verwenden Sie den folgenden Code, um die Daten mit einer SELECT-SQL-Anweisung zu verbinden und zu lesen. Im Code wird die NpgsqlCommand-Klasse mit einer der folgenden Methoden verwendet:
- Open() zum Herstellen einer Verbindung mit PostgreSQL
- CreateCommand() und ExecuteReader() zum Ausführen der Datenbankbefehle
- Read() zum Zugreifen auf den Datensatz in den Ergebnissen
- GetInt32() und GetString() zum Analysieren der Werte im Datensatz
Wichtig
Ersetzen Sie die Parameter „Host“, „DBName“, „User“ und „Password“ durch die Werte, die Sie beim Erstellen des Servers und der Datenbank angegeben haben.
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();
}
}
}
Treten Probleme auf? Teilen Sie es uns mit.
Schritt 3: Aktualisieren von Daten
Verwenden Sie den folgenden Code, um eine Verbindung herzustellen und die Daten mit der SQL-Anweisung UPDATE zu aktualisieren. Im Code wird die NpgsqlCommand-Klasse mit einer der folgenden Methoden verwendet:
- Open() zum Herstellen einer Verbindung mit der Azure-Datenbank für flexible Serverinstanz für PostgreSQL.
- CreateCommand() zum Festlegen der Eigenschaft „CommandText“
- ExecuteNonQuery() zum Ausführen der Datenbankbefehle
Wichtig
Ersetzen Sie die Parameter „Host“, „DBName“, „User“ und „Password“ durch die Werte, die Sie beim Erstellen des Servers und der Datenbank angegeben haben.
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();
}
}
}
Treten Probleme auf? Teilen Sie es uns mit.
Schritt 4: Löschen von Daten
Verwenden Sie den folgenden Code, um die Daten mit einer DELETE-SQL-Anweisung zu verbinden und zu löschen.
Der Code verwendet die NpgsqlCommand-Klasse mit der Open()-Methode, um eine Verbindung mit der Datenbank in Azure Database for PostgreSQL – Flexibler Server herzustellen. Anschließend wird im Code die CreateCommand()-Methode verwendet, die CommandText-Eigenschaft festgelegt und die ExecuteNonQuery()-Methode aufgerufen, um die Datenbankbefehle auszuführen.
Wichtig
Ersetzen Sie die Parameter „Host“, „DBName“, „User“ und „Password“ durch die Werte, die Sie beim Erstellen des Servers und der Datenbank angegeben haben.
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();
}
}
}
Bereinigen von Ressourcen
Löschen Sie die Ressourcengruppe mit dem folgenden Befehl, um alle in dieser Schnellstartanleitung verwendeten Ressourcen zu bereinigen:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes
Zugehöriger Inhalt
- Verwalten Sie Azure-Datenbank für PostgreSQL mithilfe des Azure-Portals.
- Schnellstart: Verwenden von Python zum Verbinden und Abfragen von Daten in Azure-Datenbank für PostgreSQL.
- Schnellstart: Verwenden von Java und JDBC mit Azure-Datenbank für PostgreSQL.
- Schnellstart: Verwenden Der Go-Sprache zum Verbinden und Abfragen von Daten in der Azure-Datenbank für PostgreSQL.
- Schnellstart: Verwenden von PHP zum Verbinden und Abfragen von Daten in Azure-Datenbank für PostgreSQL.
- Schnellstart: Verbinden und Abfragen mit Azure CLI mit Azure Database for PostgreSQL.
- Schnellstart: Importieren von Daten aus der Azure-Datenbank für PostgreSQL in Power BI.