كيفية الاتصال بقاعدة بيانات SQL Server على الشبكة المحلية باستخدام C# - دليل عملي كامل
اتصال SQL Server C#, قاعدة بيانات شبكة محلية, C# SQL Connection, تكوين SQL Server LAN, SqlConnection C#, remote SQL connection, Visual Studio SQL, دورة C# SQL, مشروع C# متعدد أجهزة, SqlCommand C#
مقدمة: ربط تطبيقات C# بقواعد بيانات SQL عبر الشبكة المحلية
في تطوير تطبيقات C# .NET، يُعد الاتصال بقواعد بيانات SQL Server عبر الشبكة المحلية من أكثر المهارات أهمية لإنشاء تطبيقات متعددة الأجهزة والمستخدمين. يواجه المطورون المبتدئون والمحترفون على حد سواء تحديات في ضبط إعدادات SQL Server للعمل على شبكة LAN، خاصة عند الحاجة لتشغيل التطبيق من أجهزة متعددة متصلة بنفس الشبكة.
هذا الدليل العملي المستمد من درس "تعلم تيوب" يغطي كل الجوانب التقنية اللازمة لبناء تطبيق C# يتصل بقاعدة بيانات SQL Server الموجودة على جهاز آخر في الشبكة المحلية. سنتعلم كيفية تكوين SQL Server لقبول الاتصالات البعيدة، إضافة مكتبة System.Data.SqlClient، كتابة سلسلة الاتصال الصحيحة، استخدام SqlConnection وSqlCommand، والتعامل مع الأخطاء الشائعة مثل "Cannot connect to server" أو "Network-related error".
سواء كنت تبني نظام إدارة مبيعات، برنامج محاسبة، أو أي تطبيق يحتاج لمشاركة البيانات بين أجهزة متعددة، فإن هذا الدرس سيعطيك الأساسيات والأكواد الجاهزة للتنفيذ الفوري في Visual Studio. سنقدم أيضاً أفضل الممارسات للأمان والأداء في بيئات الشبكات المحلية.
المتطلبات الأساسية والإعداد الشبكي
قبل كتابة الكود، تأكد من إعداد SQL Server على الجهاز الخادم:
- تمكين TCP/IP في SQL Server Configuration Manager.
- فتح منفذ 1433 في Windows Firewall.
- معرفة عنوان IP الخاص بالسيرفر (استخدم
ipconfig). - إنشاء قاعدة بيانات وقاعدة بيانات جديدة.
إضافة مكتبة SqlClient في Visual Studio
في مشروع C# Windows Forms أو Console App:
using System;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace LAN_SQL_Connection
{
public partial class Form1 : Form
{
// سلسلة الاتصال بالشبكة المحلية
string connectionString = @"Server=192.168.1.100,1433;Database=MyDatabase;Integrated Security=true;";
public Form1()
{
InitializeComponent();
}
}
}
كود الاتصال الكامل مع SqlConnection
الكود الرئيسي للاتصال، قراءة البيانات، والإدراج:
private void btnConnect_Click(object sender, EventArgs e)
{
try
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
MessageBox.Show("تم الاتصال بنجاح بقاعدة البيانات على الشبكة!");
// قراءة البيانات
string query = "SELECT * FROM Users";
SqlDataAdapter adapter = new SqlDataAdapter(query, conn);
DataTable dt = new DataTable();
adapter.Fill(dt);
dataGridView1.DataSource = dt;
// إدراج بيانات جديدة
string insertQuery = "INSERT INTO Users (Name, Email) VALUES (@name, @email)";
using (SqlCommand cmd = new SqlCommand(insertQuery, conn))
{
cmd.Parameters.AddWithValue("@name", txtName.Text);
cmd.Parameters.AddWithValue("@email", txtEmail.Text);
cmd.ExecuteNonQuery();
}
}
}
catch (SqlException ex)
{
MessageBox.Show("خطأ في الاتصال: " + ex.Message);
}
}
سلسلة الاتصال المثالية للشبكة المحلية
الصيغة الأساسية: Server=IP_ADDRESS,1433;Database=DB_NAME;Integrated Security=true;
استبدل IP_ADDRESS بعنوان السيرفر الفعلي، مثل 192.168.1.100 أو اسم الكمبيوتر.
حل المشاكل الشائعة
- "A network-related error": تحقق من TCP/IP وFirewall.
- "Login failed": استخدم Integrated Security أو أنشئ SQL Login.
- بطء الاتصال: استخدم Connection Pooling (افتراضياً مفعّل).
- لا يعمل من جهاز آخر: تأكد من IP صحيح وعنوان السيرفر مُحدّث.
إرسال تعليق