إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يوضح هذا التشغيل السريع كيفية الاتصال بمثيل خادم مرن لقاعدة بيانات Azure ل PostgreSQL باستخدام تطبيق C#. توضح طريقة استخدام عبارات SQL الاستعلام عن البيانات وإدراجها وتحديثها وحذفها في قاعدة البيانات. تفترض الخطوات الواردة في هذه المقالة أنك على دراية بالتطوير باستخدام C#، وأنك جديد في العمل مع قاعدة بيانات Azure ل PostgreSQL.
المتطلبات الأساسية
ستتعرف في هذا البدء السريع على:
- حساب Azure مع اشتراك نشط. أنشئ حساباً مجاناً.
- قم بإنشاء قاعدة بيانات Azure لمثيل خادم مرن PostgreSQL ، إذا لم يكن لديك واحد.
- استخدم قاعدة بيانات postgres فارغة متوفرة على الخادم أو إنشاء قاعدة بيانات جديدة.
- قم بتثبيت .NET SDK للنظام الأساسي الخاص بك(Windows أو Ubunt Linuxأو macOS) للنظام الأساسي الخاص بك.
- تثبيت Visual Studio لإنشاء المشروع الخاص بك.
- تثبيت حزمة NpgsqlNpgsql في Visual Studio.
الحصول على معلومات الاتصال
احصل على معلومات الاتصال المطلوبة للاتصال بمثيل خادم Azure Database for PostgreSQL المرن. أنت بحاجة إلى اسم الخادم المؤهل بالكامل وبيانات اعتماد تسجيل الدخول.
استخدام المدخل الخاص بـ Microsoft Azure:
من القائمة اليسرى في مدخل Microsoft Azure، انقر فوق All resources، ثم ابحث عن الخادم الذي أنشأته.
انقر فوق اسم الخادم.
في قائمة الموارد، حدد Overview.
انسخ القيم المعروضة كنقطة نهاية وتسجيل دخول المسؤول.
إذا نسيت كلمة مرور تسجيل دخول المسؤول، يمكنك إعادة تعيينها باستخدام الزر إعادة تعيين كلمة المرور .
الخطوة 1: الاتصال بالبيانات وإدراجها
قم باستخدام التعليمات البرمجية التالية للاتصال وتحميل البيانات باستخدام إنشاء جدول وإدراج في عبارات SQL. تستخدم التعليمات البرمجية فئة NpgsqlCommand مع الأسلوب:
- افتح () لإنشاء اتصال بقاعدة بيانات Azure لقاعدة بيانات الخادم المرن PostgreSQL.
- يُحدد CreateCommand() الخاصية CommandText.
- طريقة ExecuteNonQuery()لتشغيل أوامر قاعدة البيانات.
هام
استبدال معلمات المضيف وDBName والمستخدم وكلمة المرور بالقيم التي قمت بتحديدها عند إنشاء الخادم وقاعدة البيانات.
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();
}
}
}
هل تواجه أي مشاكل؟ أبلغنا بها.
الخطوة 2: قراءة البيانات
استخدم التعليمات البرمجية التالية للاتصال وقراءة البيانات باستخدام حدد عبارة SQL. تستخدم التعليمات البرمجية فئة NpgsqlCommand مع الأسلوب:
- فتح() لإنشاء اتصال بقاعدة بيانات PostgreSQL.
- CreateCommand() و ExecuteReader() لتشغيل أوامر قاعدة البيانات.
- Read() للتقدم إلى السجل في النتائج.
- GetInt32() وGetString() لتحليل القيم في السجل.
هام
استبدال معلمات المضيف وDBName والمستخدم وكلمة المرور بالقيم التي قمت بتحديدها عند إنشاء الخادم وقاعدة البيانات.
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();
}
}
}
هل تواجه أي مشاكل؟ أبلغنا بها.
الخطوة الثالثة: تحديث البيانات
استخدم التعليمات البرمجية التالية للاتصال وقراءة البيانات باستخدام تحديث عبارة SQL. تستخدم التعليمات البرمجية فئة NpgsqlCommand مع الأسلوب:
- Open() لإنشاء اتصال بقاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL.
- يُحدد CreateCommand() الخاصية CommandText.
- طريقة ExecuteNonQuery()لتشغيل أوامر قاعدة البيانات.
هام
استبدال معلمات المضيف وDBName والمستخدم وكلمة المرور بالقيم التي قمت بتحديدها عند إنشاء الخادم وقاعدة البيانات.
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();
}
}
}
هل تواجه أي مشاكل؟ أبلغنا بها.
الخطوة الرابعة: حذف البيانات
استخدم التعليمات البرمجية التالية للاتصال وحذف البيانات باستخدامحذف عبارة SQL.
تستخدم التعليمات البرمجية فئة NpgsqlCommand مع الأسلوب Open() لإنشاء اتصال بقاعدة بيانات Azure لقاعدة بيانات الخادم المرن PostgreSQL. ثم تستخدم التعليمات البرمجية طريقة CreateCommand() وتعيين الخاصية CommandText ثم نقل الطريقة ExecuteNonQuery() لتشغيل أوامر قاعدة البيانات.
هام
استبدال معلمات المضيف وDBName والمستخدم وكلمة المرور بالقيم التي قمت بتحديدها عند إنشاء الخادم وقاعدة البيانات.
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();
}
}
}
تنظيف الموارد
لتنظيف جميع الموارد المستخدمة في أثناء هذا التشغيل السريع حذف مجموعة الموارد باستخدام الأمر التالي:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes
المحتوى ذو الصلة
- إدارة قاعدة بيانات Azure ل PostgreSQL باستخدام مدخل Microsoft Azure.
- التشغيل السريع: استخدم Python لتوصيل البيانات والاستعلام عنها في قاعدة بيانات Azure ل PostgreSQL.
- التشغيل السريع: استخدم Java وJDBC مع قاعدة بيانات Azure ل PostgreSQL.
- التشغيل السريع: استخدم لغة Go لتوصيل البيانات والاستعلام عنها في قاعدة بيانات Azure ل PostgreSQL.
- التشغيل السريع: استخدم PHP لتوصيل البيانات والاستعلام عنها في قاعدة بيانات Azure ل PostgreSQL.
- التشغيل السريع: الاتصال والاستعلام عن Azure CLI باستخدام قاعدة بيانات Azure ل PostgreSQL.
- التشغيل السريع: استيراد البيانات من قاعدة بيانات Azure ل PostgreSQL في Power BI.