اتصال MySQL ODBC عن طريق Cpanel وعلاقتة بـMS Access شرح مفصل

رووح القلوب

عضو جديد
20 مارس 2009
246
1
0
11064446aq6.gif








myodbc-mysql-access-2003-10.jpg



الدرس (مخصص لأصحاب الخبرة في مجال السيرفرات)
ولمن مهتم او قد يحتاج إلى ماذكر ادناه في موضوع الدرس لكن لاتقم بأي خطوة اذا لم تعرف ماتقوم به في ذلك المقام.. واتمنى للجميع التوفيق




في درس اليوم .. سنتطرق ان شاء الله لشرح مهم عن المكتبة المعروفة في عالم قواعد البيانات 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
ثم امر تركيب ملف الإتصال بـMySQL Server عن طريق الشل نطبق التالي :


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
علماً بإنني لم استخدم البورت 3306 لكون السيرفر يعمل على بورت آخر إفتراضي وفقط اعطيته الصلاحية




والآن ناتي لمتطلب رئيسي وهو 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
ثم CTRL + D


وللتأكد من ان المترجم يعمل نقوم بتطبيق الآمر التالي :

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


MyODBC-fig-01.png






قم بوضع الآيبي IP الخاص بك في الخانة الفارغة بجانب Host (% wildcard is allowed):

وقم بالضغط على Add Host



ثم بعد ذلك نقوم بتشغيل برنامج الاتصال المفتوح Data Sources (ODBC) عن طريق جهازك مباشرة وهو متوفر دون الحاجة لتثبيته

من خلال الخيارات التالية :

ابداء-> لوحة التحكم->ادوات الإدارة (او المشرفين)
-> Data Sources (ODBC)

واذا كان جهازك انجليزي اتبع التالي

Start-> Control Panel->Administrative Tools->Data Sources (ODBC)


ووضعت لكم الصورة التالية توضح لك شكل ايقونة البرنامج

MyODBC-fig-02.png







ثم قم بتشغيله واختر خيار اضافة او Add ثم اختر MySQL ODBC Driver



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


MyODBC-fig-03.png




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


MyODBC-fig-04.png





سيظهر لك مربع حوار يسألك عن مكان وجود الملف .. ونوعه نختار النوع كما هو بالصورة

MyODBC-fig-05.png






ثم ستظهر لك نافذة اخرى تلقائياً وهي على الشكل التالي

MyODBC-fig-06.png






اختر كما هو موضح بالصورة التالية .. واضغط OK

MyODBC-fig-07.png








بعد ذلك سيطلب منك نفس البيانات التي قمنا بعملها في الصورة التالية :


MyODBC-fig-03.png



اضغط OK




واخيراً.. ستشاهد جداول قاعدة البيانات الخاصة بك تم استيرادها مباشرة ً داخل برنامج Microsoft Office Access

MyODBC-fig-07.png





وستكتشف بنفسك انه يمكنك عمل الكثير خصوصاً اذا كنت مهتماً او محترفاً للبرمجية المعروفة API
وغيرها من اللغات التي تم ذكرها في بداية الموضوع



ولا يسعنى سوى الإعتذار عن الإطالة بموضوع درسنا لليوم.. لكنني اجتهد لفائدتكم وجميعنا لدينا تقصير والكمال لله عز وجل.

وإجتهادنا هذا اخذ منا الكثير من الوقت والجهد وان وفقنا فمن الله .. يرجى عند النقل ذكر المصدر







ملاحظات هامة :

1- الطريقة المذكورة اعلاه لعملية التثبيت .. تم تجربتها على توزيعة 32Bit ولا انصح بتجربتها على انظمة 64Bits لانك قد تجد صعوبة في عملية التثبيت وفي حال اردت ان اشرح لك عملية التثبيت على نظام 64Bits قم بوضع رد وان شاء الله انا جاهز لذلك ..

2- ايضاً بما يخص الإتصال المتعدد بمعنى الإتصال لعدد 30 او 40 مستخدم في نفس الوقت بنفس المكتبة وما يعرف بالمكتبة المشتركة .. سيكون لها طرق اخرى من ناحية الاعدادات والتثبيت .. ولكن هذا الشرح مخصص للسيرفرات ذات الإتصال بعدد مستخدمين محدد وليس للشركات ذات الاعداد الكبيرة من المستخدمين .. وذلك كله للفائدة العامة وللمعرفة حول طرق الاتصال بـMySQL

3- بعض انواع الاتصال لقواعد البيانات التي يتجاوز حجمها 2 جيجا بايت .. او قد يكون نوع قاعدة البيانات نفسه يتطلب (عمل سماح بإستخدام المنفذ 3306) او البورت 3306 ولم اقم بشرح عملية تفعيله نظراً لكوني لم اقم بتفعيل واستخدمت الطرق التقليدية دون الحاجة لذلك مع اعطاء الصلاحية لبورت اخر والعمل عليه مباشرة

4- لا انصح من لايمتلك الخبرة الكافية بالتعامل مع المدخلات والمخرجات في هذا الدرس إلا بحذر شديد .. مع الاخذ بالإعتبار عند القيام بأي خطوة يجب اخذ نسخة إحتياطية للرجوع إليها لاسمح الله في حال لم توفق بالتعامل مع احد المهام .. (مخصص لأصحاب الخبرة المتقدمة بمجال السيرفرات)







3478779-7gznet.gif









"إن أصبت فمن الله.. وإن اخطأت فمن نفسي والشيطان "


لأي استفسار نحن بالخدمة ..
دمتم بحفظ الله ورعايتة..