منتديات الحضرمي
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

منتديات الحضرمي

منتديات تقنية المعلومات و التكنولوجيا الحديثة يمكنك الأن الإشراف سحل وشارك في المواضيع والردود
 
الرئيسيةالبوابةأحدث الصورالتسجيلدخول

 

 درس عن الـ SQL LOADER

اذهب الى الأسفل 
كاتب الموضوعرسالة
bigman
عضو مميز جدا
عضو مميز جدا



المساهمات : 49
تاريخ التسجيل : 29/07/2007
العمر : 44

درس عن الـ SQL LOADER Empty
مُساهمةموضوع: درس عن الـ SQL LOADER   درس عن الـ SQL LOADER Icon_minitimeالإثنين أغسطس 20, 2007 4:16 pm

الـ SQL LOADER أداة تقوم بإحضار بيانات من ملف خارجي موجود على القرص الصلب إلى جدول موجود في قاعدة البيانات.
ما يلزمنا فعليا هو ملف يحوي البيانات التي نريد تحميلها إلى الجدول data file , يجب أن يكون بصيغة معينة :
مثلا : نعتبر أن كل حقل مفصول عن الاخر بإشارة (,)
و ننعتبر كل سجل مفصول عن الاخر بواسطة سطر جديد new line
مثال عن ملف data file يحوي معلومات (رقم,اسم,البلد) :
كود
1,hussam,syr
2,ahmad,KSA
3,humam,UAE
4,malek,syr

الملف الاخر الذي يلزمنا هو الـ control file الذي يخبر الـ oracle كيف سيقوم بتحميل هذه البيانات .
بعد ذلك سيقوم الـ SQL Loader بإنشاء عمليات الـ insert اللازمة لتحميل البيانات إلى الجدول .

بعد التنفيذ سيقوم الـ SQL Loader بإنشاء ملفين إضافيين هما الـ bad file الذي سيحوي بيانات عن الحقول التي لم يستطع الـ SQL Loader تحميلها إلى الجدول
الملف الثانس هو الـ log file سيحوي على معلومات الحالة كعدد السجلات التي تمت معالجتها و عدد السجلات التي تم تحميلها إلى الجدول.

كتابة الـ control file :
كود
Load Data
Infile 'c:\emp01.dat'
TRUNCATE
Into table emp01
FIELDS TERMINATED BY ","
(id,name,city)

الشرح :
Load data تعليمة ثابتة في كل control file
Infile ملف الذي يحوي البيانات
Badfile أين سينشئ الـ bad file
Into table اسم الجدول الهدف الذي سيخزن فيه بيانات الـ datafile
Fields TERMINATED BY “,” نخبر الـ SQL LOADER أن الحقول مفصولة عن بعضها بإشارة “,”

بالطبع يجب أن يكون لدينا الجدول emp01 مسبقا الذي يملكه المستخدم scott مثلا ..

مبراحل التشغيل :
نسجل الدخول إلى المستخدم scott مثلا و ننشئ الجدول emp01
create table emp01(id number,name varchar(20),city varchar(20));
نقوم في البداية بإنشاء الـ datafile وليكن اسمه emp01.dat على القرص c و نضع فيه البيانات التالية :
كود
1,hussam,syr
2,ahmad,KSA
3,humam,UAE
4,malek,syr

بعد ذلك ننشئ الـ control file و نسميه emp01.ctr مثلا و نكتب بداخه التعليمات :
كود
Load Data
Infile 'c:\emp01.dat'
TRUNCATE
Into table emp01
FIELDS TERMINATED BY ","
(id,name,city)

نفتح محرر أوامر dos و نكتب :
كود
sqlldr scott/oracle control=c:\emp01.dat

إذا جرت الأمور على ما يرام سنرى الخرج التالي :

كود
C:\>sqlldr scott/oracle control=c:\emp01.ctr

SQL*Loader: Release 10.1.0.2.0 - Production on Mon Nov 27 21:08:17 2006

Copyright (c) 1982, 2004, Oracle. All rights reserved.

Commit point reached - logical record count 3
Commit point reached - logical record count 4

C:\>

و نرى أنه قد تم إنشاء ملف emp01.log الذي تحدثنا عنه سابقا .. و إذا حدثت أخطاء يتم إنشاء ملف الـ bad

نعود إلى الـ sqlplus و نستعلم عن الجدول emp01
كود
Select * from emp01;

سنرى البيانات السابقة أصبحت موجودة في الجدول ..

اتمنى أن تكون الفكرة واضحة …

الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://abusamrah.jothost.com/index.php
 
درس عن الـ SQL LOADER
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات الحضرمي :: منتديات قواعد البيانات :: Oracle قسم قواعد البيانات أوراكل-
انتقل الى: