السلام عليكم ورحمة الله وبركاته،
في هذا الدرس ساحاول ان اتطرق لموضوع ربط قواعد البيانات مع الماتلاب.هذا الدرس عبارة عن محاولة لترجمة للمصدر الاصلي هنا.
سيتم استخدام قاعدة بيانات 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)
بالتوفيق،