الدرس (مخصص لأصحاب الخبرة في مجال السيرفرات)
ولمن مهتم او قد يحتاج إلى ماذكر ادناه في موضوع الدرس لكن لاتقم بأي خطوة اذا لم تعرف ماتقوم به في ذلك المقام.. واتمنى للجميع التوفيق
في درس اليوم .. سنتطرق ان شاء الله لشرح مهم عن المكتبة المعروفة في عالم قواعد البيانات SQL / MySQL ODBC
وسيكون شرحنا مميز وحصرياً جداً على المستوى العربي (لمعهد ترايدنت) ومضاف به طرق الاتصال بهذة المكتبة عن طريق لوحة تحكم Cpanel ولأصحاب السيرفرات سنتحدث عن طرق تركيب او تنصيب المكتبة لديك بالسيرفر مستخدمين توزيعة CentOS بآخر اصدارتها والمستخدمة لدى الأغلب من أصحاب شركات الإستضافة
وسنستهل بداية الدرس بشرح محور رئيسي حول هذة المكتبة
ماهو؟ Open Database Connectivity او مايعرف بـ ODBC او باللغة العربية الإتصال المفتوح والتفاعلي لقواعد البيانات
هو برنامج اتصال قياسي بما يعنى انه Standard Software يستند إلى برمجية API المعروفة وذلك لإدارة قواعد البيانات بإستخدام DBMS اختصاراً لـ Database Management System
وهو برنامج مستقل عن لغة البرمجة المستخدمة في هذا التكنيك لإنشاء اتصال تفاعلي مع المكتبة ODBC مستخدماً ايضاً بما يعرف بـInterface او واجهة رسومية بإسلوب محاكاة حديث يسمى CLI
متصدراً من قبل المجموعة ISO / IEC وهي مجموعة مفتوحة تقوم بتوفير انظمة محاكاة مفتوحة تنطبق على العديد من آليات البرمجة في العديد من اللغات ووسائل الإتصال التفاعلي القديم والحديث.
وطبقاً لما ذكر أعلاه نأتي لمفهوم مبسط يسمح لنا بمعرفة حقيقية لهذة المكتبة الرائعة والتي تتيح لك أحد اهم الخيارات لأصحاب السيرفرات او المستخدم العادي او الشركات والمؤسسات الخاصة والعامة .. الخ تتيح لك إنشاء إتصال فعال وآمن ومباشر في نفس الوقت بأي قاعدة بيانات مركبة لديك سواء بالموقع او السيرفر القريب او البعيد وايضاً مما يسمح بتنفيذ اوامر او استعلامات او الوصول إلى أي بيانات او معلوم قد تحتاج التطبيق عليها في أي قاعدة بيانات مصرح له بالوصول إليها وخصوصاً من النواحي التطويرية لقواعد بيانات المواقع ذات الكم الهائل
ولاننسى هنا ان ODBC driver تعتبر اداة مترجمة ايضاً لـ ODBC API سواء بواجهة رسومية او بدونها عن طريق ODBC Manager مجملاً
علماً بإن مكتبة ODBC driver تتيح لك الإتصال المنفرد بطريقة واحدة مستقلة او كذلك بطريقة الإتصال المتعدد وفي انظمة Linux و Unix متضمنة نظام توزيع واحد وهو معروف لدى الجميع Open Source مفتوح المصدر .. وسأوضح بعض لغات البرمجة التطبيقية وبعض البرامج المتوافقة مع هذة المكتبة في النص التالي :
كود:
Oracle
SQL Server
Salesforce.com
DB2
Access
Sybase
Interbase
Firebird
Apache Derby
C/D-ISAM
LINC Developer
System Z
OJG, providing ODBC access to JDBC data sources
OOB, providing ODBC access to any remote ODBC data source e.g. MS Access from Linux
dbExpress providing access to ODBC data sources from Borland's Kylix, Delphi and C++ Builder
بالإضافة لدعمها للجافا بالكامل .. ومكتبة اخرى تسمى JDBC متضمنة التوافق مع لغة الجافا
وعند هذة النقطة سندخل في طريقة التثبيت .. وكيفية ربط نظام قواعد البيانات المعروف MySQL Server بـ ODBC وكيفية انشاء اتصال تفاعلي او اتصال جديد عن طريق لوحة تحكم Cpanel مباشرة ..
مبدئياً يجب ان يكون السيرفر الخاص بك يدعم المكتبة وساقوم بشرح طريقة التركيب في حال لم تكن المكتبة منصبة لديك مسبقاً
نطبق الآمر التالي مع ملاحظة ان تكون بحساب الروت :
PHP:
$ sudo yum install unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel
PHP:
$ sudo yum install mysql-connector-odbc
PHP:
gunzip mysql-connector-odbc-5.2.2-i686-pc-linux.tar.gz
PHP:
tar xvf mysql-connector-odbc-5.2.2-i686-pc-linux.tar
PHP:
cd mysql-connector-odbc-5.2.2-i686-pc-linux
بعد الإنتهاء من عملية التنصيب ستجد الملفات في حال اردت التعديل على اي من اعدادات المكتبة (وليس اعدادات الإتصال) لإنني سأقوم بتوضيح طريقة الإتصال في نفس الموضوع .. فيمكنك التعديل من خلال المسار التالي
كود:
/etc/odbcinst.ini
PHP:
cat /etc/odbcinst.ini
كود:
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc3.so
Setup = /usr/lib/libodbcmyS.so
FileUsage = 1
للعلم اننا مبدئياً سنكون على الاعدادات الإفتراضية للمكتبة ولاداعي للتعديل
وفي حال التعديل يمكنك التأكد من حالة المكتبة اذا اردت التأكد من عدم وجود اي مشكلة بعد عملية ضبط الاعدادات متى ما اردت ذلك عن طريق الآمر التالي
كود:
odbcinst -q -d
والآن ناتي لمتطلب رئيسي وهو MS SQL او Microsoft SQL وهو تطبيق بسيط يسمح لنا بالإتصال بقواعد البيانات بشكل عام والمقصود بقواعد البيانات والتي تركيزنا عليها هي من نوع MySQL
ولتثبيت ذلك البرنامج يتوجب علينا تثبيت حزمة رئيسية بالسيرفر ايضاً تسمى freeTDS
ونقوم بتثبيتها عن طريق الآمر التالي :
PHP:
$ sudo yum install freetds
PHP:
$ sudo cat > /etc/odbcinst.ini
كود:
[FreeTDS]
Description = ODBC for Microsoft SQL
Driver = /usr/lib/libtdsodbc.so
UsageCount = 1
Threading = 2
وللتأكد من ان المترجم يعمل نقوم بتطبيق الآمر التالي :
PHP:
odbcinst -q -d
وستشاهد نتيجة مقاربة للتالي
كود:
[MySQL]
[FreeTDS]
في المحور الثاني من درسنا لليوم .. اردت توضيح ان ماقمت بشرحه بالأعلى هو الجزء الذي يخص أصحاب السيرفرات وقد تكون مكتبة ODBC منصبة لديك ومركبة مسبقاً فلن تحتاج سوى لإجراء الإتصال بقاعدة البيانات التي تود الإتصال بها .. وسيكون عليك البدء فقط من الجزء الذي سأقوم بشرحة الآن ولا داعي لتطبيق شيء من الاوامر الموضحة بالأعلى في حال كنت متاكدً من وجود المكتبة وتطبيق الإتصال بالسيرفر ..
بسم الله سنكمل الجزء الثاني من الدرس حول (طريقة الإتصال) بـ MyODBC عن طريق Mysql Server Connector وتحديداً من خلال مترجم بلغة MSI تنصبه على جهاز الكمبيوتر الخاص بك ويسمح لك بالاتصال ويمكنك تحميله من موقع MySQL الرئيسي عن طريق الرابط التالي
MySQL :: Download Connector/ODBC
مع اختيار التوزيعة او النظام المتوافق مع نظام Windows الخاص بك.. مع ملاحظة ان البرنامج يأتي بصيغة .msi ونظراً لضيق الوقت جلبت لكم شرح مبسط لكيفية تشغيل ذلك النوع من الصيغ بجهاز الكمبيوتر لديك
اليك الشرح لتشغيل الملف
How to Install MSI Files | eHow
اذا واجهت صعوبة تفضل بوضع رد وانا جاهز للخدمة .. ان شا ءالله
نأتي للطريقة التقليدية وهي عن طريق Cpanel
لتصبح متصلاً بالشبكة الداخلية للسيرفر عن طريق الشبكة الفعلية Ethernet وسيقوم السيرفر بتحويل عملية الاتصال الفعال لمايسمى Local Area Network بين جهازك وجهاز السيرفر للسماح بالإستعلام المباشر والتعديل على قواعد البيانات التي تقوم بإختيارها وذلك كله حقيقة ً عن بعد
ايضاً سنحتاج لبرنامج Microsoft Office Access بأي إصدار وذلك للتعامل مع استعلامات مثل Select و Query وجمل وخصائص التعديل مثل Primary Key وغيرها من خيارات التعديل على الداتا بيز الاساسية
ولربط لغات برمجية بالقاعدة وتجربتها مثل API
نأتي للخطوات :
ندخل على السي بانل من خلال رابط الموقع المراد ربطه مثال
http://sitename.com:2083
استبدل sitename برابط موقعك
نختار كما هو واضح بالصورة الخيار التالي Remote MySQL
قم بوضع الآيبي IP الخاص بك في الخانة الفارغة بجانب Host (% wildcard is allowed):
وقم بالضغط على Add Host
ثم بعد ذلك نقوم بتشغيل برنامج الاتصال المفتوح Data Sources (ODBC) عن طريق جهازك مباشرة وهو متوفر دون الحاجة لتثبيته
من خلال الخيارات التالية :
ابداء-> لوحة التحكم->ادوات الإدارة (او المشرفين)
-> Data Sources (ODBC)
واذا كان جهازك انجليزي اتبع التالي
Start-> Control Panel->Administrative Tools->Data Sources (ODBC)
ووضعت لكم الصورة التالية توضح لك شكل ايقونة البرنامج
ثم قم بتشغيله واختر خيار اضافة او Add ثم اختر MySQL ODBC Driver
وستظهر لك النافذة التالية كما هو واضح بالصورة ويجب عليك تعبأت البيانات الخاصة بالسيرفر وقاعدة البيانات المراد استيرادها او التعديل او تنفيذ الاستعلام عليها .. لاتنسى ملئ الفراغات بالمطلوب
Data Source Name
اسم المشروع ضعه على سبيل المثال: MyODBCS Project
Descripton
ضع وصف مثال ODBC Connect to Myweb Site
Server
ضع اي بي او عنوان الدومين الخاص بموقعك مختصراً.. مثال 7g z.net
استبدل 7g z.net إلى رابط موقعك (مختصراً وبدون مسافات)
User
ضع اسم مستخدم قاعدة البيانات
Password
ضع كلمة مرور قاعدة البيانات
Database
اسم قاعدة البيانات
ثم > Test للتاكد ثم OK للحفظ
تلميحة بسيطة :
اذا لم تشاهد الخيار MySQL ODBC Driver بعد الضغط على Add ضمن مجموعة الخيارات .. تاكد من انك قمت بتنصيب برنامج الاتصال MySQL ODBC والذي قمت بشرحه في الأعلى وهو بإمتداد .msi كما ذكرت بالشرح
والآن ناتي لما يخص الجزء الخاص بمايكروسوفت اوفس اكسس كما ذكرت سلفاً
سنحتاجه لجلب قاعدة البيانات مع الجداول ولناخذ راحتنا بالتعديل .. بشكل سريع سنقوم بشرحه
نفتح برنامج Microsoft Office Access
ثم من الاعلى نختار File او ملف ثم كما هو موضح بالصورة نختار Import
سيظهر لك مربع حوار يسألك عن مكان وجود الملف .. ونوعه نختار النوع كما هو بالصورة
ثم ستظهر لك نافذة اخرى تلقائياً وهي على الشكل التالي
اختر كما هو موضح بالصورة التالية .. واضغط OK
بعد ذلك سيطلب منك نفس البيانات التي قمنا بعملها في الصورة التالية :
اضغط OK
واخيراً.. ستشاهد جداول قاعدة البيانات الخاصة بك تم استيرادها مباشرة ً داخل برنامج Microsoft Office Access
وستكتشف بنفسك انه يمكنك عمل الكثير خصوصاً اذا كنت مهتماً او محترفاً للبرمجية المعروفة API
وغيرها من اللغات التي تم ذكرها في بداية الموضوع
ولا يسعنى سوى الإعتذار عن الإطالة بموضوع درسنا لليوم.. لكنني اجتهد لفائدتكم وجميعنا لدينا تقصير والكمال لله عز وجل.
وإجتهادنا هذا اخذ منا الكثير من الوقت والجهد وان وفقنا فمن الله .. يرجى عند النقل ذكر المصدر
ملاحظات هامة :
1- الطريقة المذكورة اعلاه لعملية التثبيت .. تم تجربتها على توزيعة 32Bit ولا انصح بتجربتها على انظمة 64Bits لانك قد تجد صعوبة في عملية التثبيت وفي حال اردت ان اشرح لك عملية التثبيت على نظام 64Bits قم بوضع رد وان شاء الله انا جاهز لذلك ..
2- ايضاً بما يخص الإتصال المتعدد بمعنى الإتصال لعدد 30 او 40 مستخدم في نفس الوقت بنفس المكتبة وما يعرف بالمكتبة المشتركة .. سيكون لها طرق اخرى من ناحية الاعدادات والتثبيت .. ولكن هذا الشرح مخصص للسيرفرات ذات الإتصال بعدد مستخدمين محدد وليس للشركات ذات الاعداد الكبيرة من المستخدمين .. وذلك كله للفائدة العامة وللمعرفة حول طرق الاتصال بـMySQL
3- بعض انواع الاتصال لقواعد البيانات التي يتجاوز حجمها 2 جيجا بايت .. او قد يكون نوع قاعدة البيانات نفسه يتطلب (عمل سماح بإستخدام المنفذ 3306) او البورت 3306 ولم اقم بشرح عملية تفعيله نظراً لكوني لم اقم بتفعيل واستخدمت الطرق التقليدية دون الحاجة لذلك مع اعطاء الصلاحية لبورت اخر والعمل عليه مباشرة
4- لا انصح من لايمتلك الخبرة الكافية بالتعامل مع المدخلات والمخرجات في هذا الدرس إلا بحذر شديد .. مع الاخذ بالإعتبار عند القيام بأي خطوة يجب اخذ نسخة إحتياطية للرجوع إليها لاسمح الله في حال لم توفق بالتعامل مع احد المهام .. (مخصص لأصحاب الخبرة المتقدمة بمجال السيرفرات)
"إن أصبت فمن الله.. وإن اخطأت فمن نفسي والشيطان "
لأي استفسار نحن بالخدمة ..
دمتم بحفظ الله ورعايتة..