الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

درس بسيط : ربط الماتلاب مع قواعد البيانات

بدأه ibr_exn في 24 ديسمبر 2009 · 2 رد · 3,631 مشاهدة · في الرياضيات والخوارزميات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته،

في هذا الدرس ساحاول ان اتطرق لموضوع ربط قواعد البيانات مع الماتلاب.هذا الدرس عبارة عن محاولة لترجمة للمصدر الاصلي هنا.

سيتم استخدام قاعدة بيانات Northwind.mdb في هذا الدرس وهي تكون عادة موجودة في المسار التالي :

C:\Program Files\Microsoft Office\OFFICE11\SAMPLES

خطوات الربط مع قاعدة البيانات :

1. في حالة استخدام JDBC يتم التعامل مباشرة عن طريق الامر database كما في المثال التالي :

اذا كانت لدينا المعلومات التاليه :

Database is oracle

user name =scott

e password = tiger

JDBC driver name = oracle.jdbc.driver.OracleDriver

URL to the database = jdbc:oracle:oci7:

سيكون الامر كالتالي

      conn1 = database('oracle','scott','tiger','oracle.jdbc.driver.OracleDriver','jdbc:oracle:oci7:')

للاطلاع على معلومات حول عملية الربط مع قاعدة البيانات نستخدم الامر

 ping(conn1)

سيعطينا التالي :

Database Product Name : Oracle

Database Product Version : Oracle7 Server Release 7.3.3.0.0 -

Production Release With the

distributed, replication and parallel

query options PL/SQL Release

2.3.3.0.0 - Production

JDBC Driver Name : Oracle JDBC driver

JDBC Driver Version : 7.3.3.1.3

Max. Database Connections : 0

Current User Name : scott

Database URL : jdbc:oracle:oci7:oracle

Auto Commit Transactions : True

يجب تعريف مصدر قاعدة بيانات محلية لقاعدة البيانات التي سنتعامل معها في حالة عدم استخدام ال JDBC (كما في هذا المثال) وذلك كالتالي :

اذهب الى لوحة التحكم Control panel ثم Administrative Tools ثم Data Sources (ODBC)

اضغط على زر add لاضافة مصدر قاعدة بيانات محلي جديد

حدد نوع المشغل ب Microsoft Access Driver ثم اعطي اسم للمصدر وليكن SambleDB ثم اضغط زر select وحدد ملف قاعدة البيانات (في مثالنا هذا ستكون Northwind.mdb كما ذكرنا سابقا) ثم ok

2. نستطيع الان الاتصال بقاعدة البيانات كالتالي :

logintimeout(5)

يفيد هذا الامر في حالة مرور خمس ثواني بدون نجاح الاتصال يتم ايقاف الاتصال

connA = database('SampleDB', '', '')

لاحظ ان الحقول الفارغة خاصة باسم المستخدم وكلمة المرور

للتأكد من حالة الاتصال نستخدم الامر

ping(connA)

سيعطينا الناتج التالي :

Database Product Name : ACCESS

Database Product Version : 3.0

JDBC Driver Name : JDBC-ODBC Bridge (odbcjt32.dll)

JDBC Driver Version : 1.1001 (3.40.2829)

Max. Database Connections : 64

Current User Name : admin

Database URL : jdbc:odbc:SampleDB

Auto Commit Transactions : True

يمكن الان تنفيذ عبارة استعلام SQL كالتالي وخزن الناتج في متغير

cursorA = exec(connA, 'select country from customers')

سيتم خزن الناتج في متغير من نوع cell array التي تدعم اكثر من نوع بيانات مختلف

والان لجلب البيانات

cursorA = fetch(cursorA, 10)

تم تحديد 10 سجلات على الاكثر لجلبها ويمكن تجاهله لاحضار جميع البيانات

لعرض البيانات

AA = cursorA.data

سيعطينا الناتج التالي :

AA =

'Germany'

'Mexico'

'Mexico'

'UK'

'Sweden'

'Germany'

'France'

'Spain'

'France'

'Canada'

لاغلاق الاتصال ومؤشر البيانات نستخدم الاوامر

close(cursorA)
close(connA)

بالتوفيق،

تم تعديل هذه المشاركة بواسطة ibr_exn في 24 ديسمبر 2009 في 21:53

2

الحمد لله الذي هدانا لهذا وماكنا لنهتدي لولا ان هدانا الله

#2

مرفق مثال بسيط كتطبيق لما سبق .

المثال يحوي جدول وزر عند الضغط على الزر يتم الاتصال مع قاعدة البيانات وتحميل البيانات الى الجدول.

ملحوظة : قاعدة البيانات مرفقة مع المثال ولكن يجب اعدادها كمصدر محلي كما في الشرح اعلاه.

DBMatlab.zip

الحمد لله الذي هدانا لهذا وماكنا لنهتدي لولا ان هدانا الله

#3

هممم.

جربت الربط في لينكس مع قاعدة بيانات من نوع dBase ولم تنجح العمليه :wacko: . حد عنده فكره ؟

الحمد لله الذي هدانا لهذا وماكنا لنهتدي لولا ان هدانا الله

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…