Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu hızlı başlangıçta C# uygulaması kullanarak PostgreSQL için Azure Veritabanı esnek bir sunucu örneğine nasıl bağlandığınız gösterilmektedir. Veritabanında verileri sorgulamak, eklemek, güncellemek ve silmek için SQL ifadelerinin nasıl kullanılacağını gösterir. Bu makaledeki adımlarda C# kullanarak geliştirme konusunda bilgi sahibi olduğunuz ve PostgreSQL için Azure Veritabanı ile çalışmaya yeni olduğunuz varsayılır.
Önkoşullar
Bu hızlı başlangıç için ihtiyacınız olan:
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Azure Veritabanı için PostgreSQL esnek sunucu örneğiniz yoksa oluşturun.
- Sunucuda kullanılabilen boş postgres veritabanını kullanın veya yeni bir veritabanı oluşturun.
- Platformunuzun .NET SDK'sını (Windows, Ubuntu Linux veya macOS) platformunuza yükleyin.
- Projenizi oluşturmak için Visual Studio'yu yükleyin.
- Visual Studio'da Npgsql NuGet paketini yükleyin.
Bağlantı bilgilerini alma
PostgreSQL için Azure Veritabanı esnek sunucu örneğine bağlanmak için gereken bağlantı bilgilerini alın. Tam nitelikli sunucu adına ve oturum açma kimlik bilgilerine ihtiyacınız vardır.
Azure portalında sol taraftaki menüden Tüm kaynaklar'a tıklayın ve oluşturduğunuz sunucuyu arayın.
Sunucu adına tıklayın.
Kaynak menüsünde Genel Bakış'ı seçin.
Uç Nokta ve Yönetici oturum açma bilgileri olarak gösterilen değerleri kopyalayın.
Yönetici oturum açma parolasını unutursanız Parolayı sıfırla düğmesini kullanarak parolayı sıfırlayabilirsiniz.
1. Adım: Bağlanma ve veri ekleme
Bağlanıp CREATE TABLE ve INSERT INTO SQL deyimlerini kullanarak verileri yüklemek için aşağıdaki kodu kullanın. Kod, yöntemiyle NpgsqlCommand sınıfını kullanır:
- PostgreSQL için Azure Veritabanı esnek sunucu veritabanına bağlantı kurmak için Open() .
- CreateCommand() CommandText özelliğini ayarlar.
- Veritabanı komutlarını çalıştırmak için ExecuteNonQuery() yöntemi.
Önemli
Host, DBName, User ve Password parametrelerini, sunucuyu ve veritabanını oluştururken belirttiğiniz değerlerle değiştirin.
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();
}
}
}
Sorun mu yaşıyorsunuz? Bize bildirin.
2. Adım: Verileri okuma
SELECT SQL deyimini kullanarak bağlanmak ve verileri okumak için aşağıdaki kodu kullanın. Kod, yöntemiyle NpgsqlCommand sınıfını kullanır:
- PostgreSQL ile bağlantı kurmak için Open() .
- Veritabanı komutlarını çalıştırmak için CreateCommand() ve ExecuteReader() kullanın.
- Read() ile sonuçlardaki kayda ilerleyin.
- Kayıttaki değerleri ayrıştırmak için GetInt32() ve GetString() .
Önemli
Host, DBName, User ve Password parametrelerini, sunucuyu ve veritabanını oluştururken belirttiğiniz değerlerle değiştirin.
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();
}
}
}
Sorun mu yaşıyorsunuz? Bize bildirin.
3. Adım: Verileri güncelleştirme
Bağlanmak ve bir UPDATE SQL deyimi kullanarak verileri güncelleştirmek için aşağıdaki kodu kullanın. Kod, yöntemiyle NpgsqlCommand sınıfını kullanır:
- PostgreSQL için Azure Veritabanı esnek sunucu örneğine bağlantı kurmak için Open().
- CreateCommand(), CommandText özelliğini ayarlar.
- Veritabanı komutlarını çalıştırmak için ExecuteNonQuery() yöntemi.
Önemli
Host, DBName, User ve Password parametrelerini, sunucuyu ve veritabanını oluştururken belirttiğiniz değerlerle değiştirin.
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();
}
}
}
Sorun mu yaşıyorsunuz? Bize bildirin.
4. Adım: Verileri silme
DELETE SQL deyimini kullanarak bağlanmak ve verileri silmek için aşağıdaki kodu kullanın.
Kod, PostgreSQL için Azure Veritabanı esnek sunucu veritabanına bağlantı kurmak için Open() yöntemiyle NpgsqlCommand sınıfını kullanır. Ardından kod CreateCommand() yöntemini kullanarak CommandText özelliğini ayarlar ve ExecuteNonQuery() yöntemini çağırarak veritabanı komutlarını çalıştırır.
Önemli
Host, DBName, User ve Password parametrelerini, sunucuyu ve veritabanını oluştururken belirttiğiniz değerlerle değiştirin.
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();
}
}
}
Kaynakları temizleme
Bu hızlı başlangıç sırasında kullanılan tüm kaynakları temizlemek için aşağıdaki komutu kullanarak kaynak grubunu silin:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes
İlgili içerik
- Azure portalını kullanarak PostgreSQL için Azure Veritabanı'nı yönetin.
- Hızlı Başlangıç: PostgreSQL için Azure Veritabanı'na bağlanmak ve verileri sorgulamak için Python kullanın.
- Hızlı Başlangıç: PostgreSQL için Azure Veritabanı ile Java ve JDBC kullanma.
- Hızlı Başlangıç: PostgreSQL için Azure Veritabanı'na bağlanmak ve verileri sorgulamak için Go dilini kullanın.
- Hızlı Başlangıç: PostgreSQL için Azure Veritabanı'na bağlanmak ve verileri sorgulamak için PHP kullanın.
- Hızlı Başlangıç: PostgreSQL için Azure Veritabanı ile Azure CLI ile bağlanma ve sorgulama.
- Hızlı Başlangıç: Power BI'da PostgreSQL için Azure Veritabanı'ndan verileri içeri aktarma.