ربط قاعدة بيانات FireBird بواسطة مكون الاتصال FireDac
#1
السلام عليكم ورحمة الله تعالى وبركاته

ربط قاعدة بيانات FireBird بواسطة مكون الاتصال FireDac

FireBird :

[b]نبذة تاريخية[/b]
انبثقت فايربيرد من الشفرة المصدرية لقاعدة بيانات انتربيس 6.0 من بورلاند. وهي مفتوحة المصدر ولا يوجد بها ترخيص مزدوج. وسواء احتجت إليها لتطبيقات تجارية أو مفتوحة المصدر، فهي مجانا بالكامل!
تقنية فايربيرد قيد الاستخدام منذ 20 عاما، مما يجعلها منتجا شديد النضوج والاستقرار.
المميزات الرئيسية
لا يغرنك حجم المثبت! فايربيرد هو نظام قوي ومكتمل المزايا لإدارة قواعد البيانات العلائقية. ويمكنه مناولة قواعد بيانات حجمها من مجموعة كيلو بايت فقط إلى العديد من الغيغابايت مع أداء جيد ودون الحاجة إلى صيانتها في أغلب الأحوال!

[/url]
[url=https://www.firebirdnews.org/docs/fb2min_ar.html]المصدر من الموقع الرسمي


النسخ النهائية للتحميل

Firebird 2.5

Firebird 3.0

للتحميل من الموقع الرسمي

كما توجد Firebird 4.0 فهي تطوير مستمر Beta  ليست نهائية

لتحميل من الموقع






FireDAC :
                هو عبارة عن مجموعة فريدة من مكونات الوصول الشامل إلى البيانات المصممة لتطوير تطبيقات قواعد البيانات متعددة الأجهزة لـ Delphi و C ++ Builder. بفضل بنيته المشتركة ، يسمح FireDAC بالوصول المباشر والسريع والأصلي من دلفي إلى InterBase و SQLite و MySQL و SQL Server و Oracle و PostgreSQL و IBM DB2 و SQL Anywhere و Access و Firebird و Informix ، إلخ.

للتعرف أكثر على المكون
كود :
http://docwiki.embarcadero.com/RADStudio/Sydney/fr/FireDAC


* ملاحظة :
                 لو ثبتنا Firebird 2.5 وأنشأنا بها قاعدة البيانات فستكون نسختها اصدار (ODS) 11.2 فلا يمكن فتحها بنسخة أخرى

إذا ما هو ODS هو إختصار لـ On Disk Structure  أي تحتوي كل قاعدة بيانات Firebird على بنية محددة جيدًا. يشير رقم إصدار ODS (على بنية القرص) المخزن في صفحة رأس قاعدة البيانات إلى إصدار ODS المستخدم في قاعدة البيانات هذه.

نسخة Firebird 2.5 رقم اصدار  البنية الخاص بها ODS هو 11.2

نسخة Firebird 3.0 رقم اصدار  البنية الخاص بها ODS هو 12.0


للمعلومات أكثر
كود :
https://ib-aid.com/en/articles/all-firebird-and-interbase-on-disk-structure-ods-versions/

* شرح الربط :

01 - تثبيت FireBird النسخة 3 :

عند تثبيت النسخة الثالثة يكون مسار كالتالي  في Windows 32 bit:
كود :
C:\Program Files\Firebird\Firebird_3_0

و يتم أيضا نسخ FBCLIENT.DLL إلى C:\Windows\System32 فمكون الدلفي تلقائيا يبحث عنه في هذا المسار

[صورة: 102759561.png]

02 - الان نحتاج الى المكونات التالية للربط :

FDConnection1 : للاتصال بقاعدة البيانات
FDPhysFBDriverLink1 : نستعمله لتحديد مسار ملف FBCLIENT.DLL في حالة عدم تثبيت FireBird نحتاج الى هذا الملف

FDGUIxWaitCursor1 : دور هذا المكون عند الاتصال أو تنفيذ إجراء يغير صورة مؤشر الفأرة الى مأشر أخر يبن لنا عملية التنفيذ و عند الانتهاء يعيد المؤشر الى حالته

FDQuery1 : لفتح جدول
DataSource1 : لاظهار الحقول في مكونات اخرى
DBGrid1 : اظهار الحقول على شكل جدول

03 - الربط في جهاز محلي Local + مع تثبيت FireBird

بعد تثبيت FireBird ، نقوم بالربط كمايلي

* سنربط FDConnection1 مع قاعدة البيانات EMPLOYEE.FDB هي قاعدة بيانات تأتي مع تثبيت FireBird الموجودة في المسار التالي
كود :
C:\Program Files\Firebird\Firebird_3_0\examples\empbuild


إعدادات FDConnection1 للاتصال في جهاز محلي

[صورة: 218507526.png]

1 _ LoginPrompt نقوم بإلغاء تنشيط هذه الخاصية
2 _ نختار نوع قاعدة البيانات ، FB هي إختصار لـ FireBird
3 _ مسار قاعدة اليانات
4 _ اسم المستعمل ، تلقائية sysdba
5 _ كلمة المرور ، تلقائية masterkey
6 _ Protocol هو نوع الاتصال محلي Local ، أو عبر شبكة TCPIP .... إلخ

النتيجة

[صورة: 131377284.png]

03 - الربط مع جهاز  أخر مع ترك تثبيت FireBird

معلومات عن الجهاز الذي سأتصل به

[صورة: 467047550.png]

1 _ إسم الجهاز و إذا كان IP ثابت يمكن إستبدال إسم الجهاز بـ IP
2 _ مسار قاعدة البيانات كمثال C:\TestPC02
3 _ ملف قاعدة البيانات

الاعدادات للاتصال بجهاز أخر

[صورة: 946393114.png]


1 _ نختار نوع قاعدة البيانات ، FB هي إختصار لـ FireBird
2 _ مسار قاعدة اليانات في للجهاز الاخر
3 _ اسم المستعمل ، تلقائية sysdba
4 _ كلمة المرور ، تلقائية masterkey
5 _ Protocol هو نوع الاتصال  عبر شبكة TCPIP  
6 _ server نكتب فيه إسم الجهاز أو Ip الخاص الجهاز الذي نتصل به
7 _ Port منفذ الاتصال بالنسبة للفيربيرد ، المنفذ التلقائي هو 3050 و يمكن تغييره في حالات تثبيت نسختين مختلفتين
8 _ CharacterSet في حالة بيانات المخزنة في قاعدة البيانات باللغة العربية يمكننا اختيار UTF8

النتيجة :  لم تتم عملية الاتصال بالجهاز الاخر PC-LAR02




[صورة: 820423038.png]

الحل :  السبب في الجهاز الذي يحتوي على قاعدة البيانات الان الجدار الناري يسد الاتصال عبر المنفذ  [صورة: 497282226.png]  FireWall      

يوجد حلان :
01 _ عدم تنشيط الجدار

[صورة: 521477015.png]

02 _ الحل الثاني اضافة تصريح لرقم المنفذ الاتصال

[صورة: 465012812.png]
[صورة: 941781146.png]

[صورة: 230556091.png]
[صورة: 737082549.png]

[صورة: 958656621.png]

في الأخير تسمية المنفذ بأي اسم للدلالة فقط

إعادة النتيجة

[صورة: 417826972.png]

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


04 - الربط مع جهاز  أخر  بواسطة ملف FBCLIENT.DLL فقط
1 _ ننسخ الملف FBCLIENT.DLL الموجود في المسار
كود :
C:\Program Files\Firebird\Firebird_3_0

2 _ نلغي تثبيت FireBird

3 _ نحدد مسار الملف لمكون FDPhysFBDriverLink1

[صورة: 406469978.png]

بالنسبة للربط بواسطة دلفي 7

كود :
https://delphi4arab.net/forum/showthread.php?tid=10741

بالنسبة لتضمين قاعدة البايانات

كود :
https://delphi4arab.net/forum/showthread.php?tid=10906&highlight=embedded
‏اللّهمّ فرّج أُموراً ضَاقت بها صُدورنا وعجزت بها حيلتنا وقلّ بها صَبرنا الّلهمّ أَسعِد قلوبنا بما أنتَ أعْلَمُ بِهِ مِنّا
[-] كل من 12 users say قال شكرا ل larbiparadox على المشاركة المفيدة
  • bassem_43, Delphi4Us, ELARAPY, embarcadero, firebird78, Ibn Battuta, khalmoh1971, Mr.DOS, Spolaya Molaya, أبو معاذ, لؤي, محمد عبد العزيز
الرد
#2
بورك فيك أخي العربي.
جزاك الله خيرا.
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
[-] كل من 2 users say قال شكرا ل أبو معاذ على المشاركة المفيدة
  • ALG2009, larbiparadox
الرد
#3
جزاك الله خيرا.
حبذا لوكان الشرح فيديو 
حيث تكون سلسلة بناء برنامج كامل تشرح فيه جميع الحالات التي نتعرض لها خلال برمجة البرنامج
بالمناسبة تستحق أن تكون مشرف فأنت أهل لها
لديك خبرة موجود دائما
مشكلة المنتدى قليل الأسئلة الكثير يأخذ ولا يساعد الغير
قله المشاريع الجماعية التي تساعد على التعلم كإقتراح برنامج لمحل تجاري والجميع يشارك أو أي برنامج
[-] كل من 2 users say قال شكرا ل ALG2009 على المشاركة المفيدة
  • larbiparadox, أبو معاذ
الرد
#4
(09-04-2021, 06:30 PM)ALG2009 كتب : جزاك الله خيرا.
حبذا لوكان الشرح فيديو 
حيث تكون سلسلة بناء برنامج كامل تشرح فيه جميع الحالات التي نتعرض لها خلال برمجة البرنامج
بالمناسبة تستحق أن تكون مشرف فأنت أهل لها
لديك خبرة موجود دائما
مشكلة المنتدى قليل الأسئلة الكثير يأخذ ولا يساعد الغير
قله المشاريع الجماعية التي تساعد على التعلم كإقتراح برنامج لمحل تجاري والجميع يشارك أو أي برنامج

شكرا على الاقتراح ، في الحقيقة لا يمكنني متابعة كل الامور ، صدق هذا كان طلب احد الاعضاء من حوالي 10 ايام ، لم استطع الاجابة حتى اليوم

اقوم بالمتابعة يوميا ، اذا امكنني اجاوب ، مرات الحلول موجودة لكن لا يوجد وقت للاجابة

* مرات ارى طلبات موجود لها حلول مسبقا في منتدى لكن الشخص صاحب مشكل لا يبحث في المنتدى او في محرك البحث

* مرات شخص له طلب لاكن  حبذا لو شخص يعطيه له بدون بذل اي جهد

للمنتدى اعضاء اكفاء ، انا لا اقارن بمستواهم
‏اللّهمّ فرّج أُموراً ضَاقت بها صُدورنا وعجزت بها حيلتنا وقلّ بها صَبرنا الّلهمّ أَسعِد قلوبنا بما أنتَ أعْلَمُ بِهِ مِنّا
[-] كل من 3 users say قال شكرا ل larbiparadox على المشاركة المفيدة
  • ELARAPY, Ibn Battuta, أبو معاذ
الرد
#5
(09-04-2021, 06:30 PM)ALG2009 كتب : حبذا لوكان الشرح فيديو 


[صورة: 20210409_194757.gif]

كود :
https://s4.gifyu.com/images/20210409_194757.gif
‏اللّهمّ فرّج أُموراً ضَاقت بها صُدورنا وعجزت بها حيلتنا وقلّ بها صَبرنا الّلهمّ أَسعِد قلوبنا بما أنتَ أعْلَمُ بِهِ مِنّا
[-] كل من 2 users say قال شكرا ل larbiparadox على المشاركة المفيدة
  • ELARAPY, أبو معاذ
الرد
#6
الله يرضى عليك وزادك من علمه
[-] كل من 3 users say قال شكرا ل ALG2009 على المشاركة المفيدة
  • ELARAPY, larbiparadox, أبو معاذ
الرد
#7
شكرا
شرح مختصر ووافي
بارك الله فيك
حتى لو فشلت يكفيك شرف المحاولة....
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم