> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/arabic/alblwkat-alwzyfyh/blocks-reference/input-output/communication/sql-db-client-connect.md).

# SQL-DB Client Connect

تُستخدم هذه الدالة (function block) لتكوين وإقامة اتصال بقاعدة بيانات SQL (MySQL, PostgreSQL, MSSQL, SQLite). استخدمها لإنشاء عميل قاعدة بيانات دائم يمكن لباقي البلوكات استخدامه لتنفيذ استعلامات أو عمليات بيانات.

## 📥 المدخلات

هذه الدالة ليس لديها مخارج/مداخل (input sockets).

## 📤 المخرجات

* `DB Client` — كائن عميل قاعدة بيانات قابل لإعادة الاستخدام يمكن لباقي البلوكات (مثل `SQL-DB Operations`) استخدامه لتنفيذ استعلامات ومعاملات.
* `Connection Success` — قيمة منطقية تُشير ما إذا تم إنشاء الاتصال بنجاح أم لا.

## 🕹️ الضوابط (Controls)

* `Database Type` — قائمة منسدلة لاختيار نوع قاعدة البيانات (MySQL, PostgreSQL, MSSQL, SQLite). اختيار `SQLite` يبسط واجهة المستخدم لأن الحقول host/port/user/password ستكون مخفية.
* `Host` — اسم المضيف أو عنوان IP لخادم قاعدة البيانات. مخفي عند اختيار `SQLite`.
* `Database` — اسم قاعدة البيانات. في حالة `SQLite` يُستخدم هذا الحقل كمسار ملف قاعدة البيانات.
* `Port` — منفذ TCP لخادم قاعدة البيانات. مخفي عند اختيار `SQLite`.
* `User` — اسم مستخدم قاعدة البيانات. مخفي عند اختيار `SQLite`.
* `Password` — كلمة مرور قاعدة البيانات. مخفي عند اختيار `SQLite`.

ملاحظة: تغيير أي من هذه الحقول سيعيد ضبط الاتصال الحالي وسيؤدي إلى محاولة اتصال جديدة عند تقييم البلوك.

## 🎯 الميزات (Features)

* دعم بسيط لعدة قواعد بيانات من خلال واجهة موحدة للأنواع الشائعة من SQL.
* توافق مع `SQLite` مع حقول أقل عند اختيار قاعدة بيانات ملفية.
* يصدر `DB Client` جاهز للاستخدام وعلَم `Connection Success` للاعتماد عليه في المنطق التالي ومعالجة الأخطاء.
* إعادة اتصال تلقائية عند اكتشاف تغييرات في التكوين.

## 📝 تعليمات الاستخدام (Usage Instructions)

1. اختر `Database Type` الذي يتوافق مع خادمك.
2. املأ `Host`، `Port`، `User`، `Password`، و `Database` حسب الحاجة (بالنسبة لـ `SQLite` ضع مسار الملف في `Database`).
3. شغّل السيناريو أو قيّم البلوك. سيحاول البلوك الاتصال وسيضبط `Connection Success` وفق النتيجة.
4. استخدم `DB Client` المقدم مع `SQL-DB Operations` لتنفيذ استعلامات، إدخالات، تحديثات أو مهام قاعدة بيانات أخرى.
5. إذا قمت بتغيير أي حقول اتصال، سيعيد البلوك ضبط الاتصال الحالي وسيحاول إعادة الاتصال عند التقييم التالي.

## 📊 التقييم (Evaluation)

عند التقييم، يتحقق البلوك من المعايير المقدمة ويقوم بمحاولة إقامة الاتصال. عند النجاح يعرض عميلًا قابلاً لإعادة الاستخدام عبر مخرج `DB Client` ويضبط `Connection Success` إلى true. عند الفشل يقوم بتسجيل خطأ ويضبط `Connection Success` إلى false.

## 💡 نصائح وحيل (Tips and Tricks)

* اجمعه مع `SQL-DB Operations` لتشغيل الاستعلامات وإرجاع النتائج داخل التدفق.
* استخدم `Data to JSON` لتسلسل النتائج المعقدة قبل حفظها في ملفات أو إرسالها عبر الشبكة.
* استخدم `CSV Export` أو `Image Logger` (لمتاديتا الصور) لحفظ نتائج الاستعلامات.
* استخدم `Data Write Local` أو `Data Write Global` لتخزين `DB Client` أو نتائج الاستعلام الأخيرة لإعادة الاستخدام في أجزاء مختلفة من مشروعك.
* استخدم `Debug Input` لفحص المخرجات الأولية من `SQL-DB Operations` أثناء البناء واستكشاف الأخطاء.

## 🛠️ استكشاف الأخطاء وإصلاحها (Troubleshooting)

* فشل الاتصال مع أن بيانات الاعتماد صحيحة: تحقّق من الوصول الشبكي إلى `Host` وأن المنفذ `Port` مفتوح ويستقبل الاتصالات.
* عند استخدام `SQLite`: تأكد أن المسار في `Database` قابل للوصول وأن التطبيق لديه أذونات قراءة/كتابة على الملف.
* إذا بدت التغييرات في التكوين غير فعالة: عدّل أي تحكم (مثلاً `Host`) لإجبار البلوك على إعادة ضبط وإعادة إنشاء الاتصال.
* إذا احتجت لتأكيد البيانات المرجعة أثناء التطوير، قم بتوصيل `SQL-DB Operations` و `Debug Input` لفحص الاستجابات قبل دمجها.
