إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يوضح هذا التشغيل السريع كيفية الاتصال بخادم مرن قاعدة بيانات Azure لـ PostgreSQL باستخدام تطبيق C#. توضح طريقة استخدام عبارات SQL الاستعلام عن البيانات وإدراجها وتحديثها وحذفها في قاعدة البيانات. تفترض الخطوات الواردة في هذه المقالة أنك على دراية بالتطوير باستخدام C#، وأنك جديد في العمل مع قاعدة بيانات Azure لـ PostgreSQL.
Prerequisites
للتشغيل السريع، عليك:
- حساب Azure مع اشتراك نشط. أنشئ حساباً مجاناً.
- قم بإنشاء قاعدة بيانات Azure لمثيل خادم مرن PostgreSQL ، إذا لم يكن لديك واحد.
- استخدم قاعدة بيانات postgres فارغة متوفرة على الخادم أو إنشاء قاعدة بيانات جديدة.
- قم بتثبيت .NET SDK للنظام الأساسي الخاص بك(Windows أو Ubunt Linuxأو macOS) للنظام الأساسي الخاص بك.
- تثبيت Visual Studio لإنشاء المشروع الخاص بك.
- تثبيت حزمة NpgsqlNpgsql في Visual Studio.
الحصول على معلومات الاتصال
احصل على معلومات الاتصال المطلوبة للاتصال بالخادم المرن قاعدة بيانات Azure لـ PostgreSQL. تحتاج إلى اسم الخادم المؤهل بالكامل وبيانات اعتماد المصادقة.
استخدم مدخل Microsoft Azure:
من القائمة اليسرى في مدخل Azure، حدد All resources، ثم ابحث عن الخادم الذي أنشأته.
حدد اسم الخادم.
في قائمة الموارد، حدد Overview.
انسخ القيم المعروضة كنقطة نهاية وتسجيل دخول المسؤول.
إذا نسيت كلمة المرور لمصادقة المسؤول، فعد تعيينها باستخدام الزر إعادة تعيين كلمة المرور .
الخطوة 1: الاتصال بالبيانات وإدراجها
استخدم التعليمات البرمجية التالية للاتصال وتحميل البيانات باستخدام عبارات CREATE TABLE وINSERT INTO SQL. تستخدم التعليمات البرمجية فئة NpgsqlCommand مع هذه الطرق:
- افتح () لإنشاء اتصال بقاعدة بيانات Azure لقاعدة بيانات الخادم المرن PostgreSQL.
- يُحدد CreateCommand() الخاصية CommandText.
- طريقة ExecuteNonQuery()لتشغيل أوامر قاعدة البيانات.
Important
استبدال معلمات المضيف و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: SELECT. تستخدم التعليمات البرمجية فئة NpgsqlCommand مع هذه الطرق:
- فتح() لإنشاء اتصال بقاعدة بيانات PostgreSQL.
- CreateCommand() و ExecuteReader() لتشغيل أوامر قاعدة البيانات.
- Read() للتقدم إلى السجل في النتائج.
- GetInt32() وGetString() لتحليل القيم في السجل.
Important
استبدال معلمات المضيف و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();
}
}
}
هل تواجه أي مشاكل؟ أبلغنا بها.
الخطوة الثالثة: تحديث البيانات
استخدم التعليمات البرمجية التالية للاتصال بقاعدة البيانات وتحديث البيانات باستخدام عبارة UPDATE SQL. تستخدم التعليمات البرمجية NpgsqlCommand الفئة بالأساليب التالية:
- افتح () لإنشاء اتصال بالخادم المرن قاعدة بيانات Azure لـ PostgreSQL.
-
CreateCommand() لتعيين الخاصية
CommandText. - طريقة ExecuteNonQuery()لتشغيل أوامر قاعدة البيانات.
Important
استبدال معلمات المضيف و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();
}
}
}
هل تواجه أي مشاكل؟ أبلغنا بها.
الخطوة الرابعة: حذف البيانات
استخدم التعليمات البرمجية التالية للاتصال بقاعدة البيانات وحذف البيانات باستخدام عبارة DELETE SQL.
تستخدم التعليمات البرمجية NpgsqlCommand الفئة مع أسلوب Open() لإنشاء اتصال بقاعدة بيانات الخادم المرنة قاعدة بيانات Azure لـ PostgreSQL. ثم، تستخدم التعليمات البرمجية أسلوب CreateCommand() ، وتعين CommandText الخاصية ، وتستدعي الأسلوب ExecuteNonQuery() لتشغيل أوامر قاعدة البيانات.
Important
استبدال معلمات المضيف و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.