الانتقال إلى المحتوى

مثبت شرح External Table ربط ملفات اكسل مع الداتابيس


Gaith Rammaha

Recommended Posts

 

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

 

نهنئكم بإقتراب شهر رمضان وبعد ...

 

 

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

بالجداول في قواعد البيانات ومن فوائدة ربط قواعد البيانات في جهاز البصة وايضا ربط الملفات التي

تأتي من الشركات الاخرى التي نحتاجها داخل قاعدة البيانات .

 

اللهم لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم، اللهم علمنا ما ينفعنا وانفعنا بما علمتنا وزدنا علما،

وأرنا الحق حقاً وارزقنا إتباعه وأرنا الباطل باطلاً وارزقنا اجتنابه، واجعلنا ممن يستمعون القول فيتبعون أحسنه،

وأدخلنا برحمتك في عبادك الصالحين.

 

 

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

 

 

ما هو EXTERNAL TABLE هو عبارة عن جدول يقرأ البيانات من ملفات خارجية ومن مكان محدد يتم تحديده في كود الأنشاء .

 

يلزمنا لأنشائه التالي :

الملف الذي سيقرأ منه EXTERNAL TABLE ستجده بالمرفقات .

أنشاء DIRECTORY على الداتا بيس يقرأ منه ال EXTERNAL TABLE.

أنشاء كود EXTERNAL TABLE وسيتم شرحة بالتفصيل .

 

طبعا مع نهاية انشاء EXTERNAL TABLE تستطيع ربط الداتا مع الفورم واستعراض البيانات وتعديلها .

 

 

نكمل الشرح بأذن الله .. والله الموفق .

excel.rar

تم تعديل بواسطة Gaith Rammaha
رابط هذا التعليق
شارك

 

السلام عليكم .....

 

اعذروني لتأخري .....

 

بلبداية سوف تنشأ على الداتا بيس DIRECTORY سوف يتم رفع الكود بالمرفقات

 

تذهب الى درايفر D تنشأ فايل اسمه READFILE

 

 

 

 من المهم ان تكون متصل في يوزر sys


sys /as sysdba

CREATE OR REPLACE DIRECTORY

READFILE AS

‘D:\READFILE’;



 تمنح صلاحية القرائة والكتابة الى اليوزر الذي تريد منه استخدامه

 

تذهب الى اليوزر المراد داخله انشاء EXTERNAL TABLE والذي تم اعطائة صلاحية قراءة وكتابة على الفايل READFILE


GRANT READ, WRITE ON DIRECTORY READFILE TO USER;

الى الان اعطينا الداتا بيس مكان تكتب وتقرأ منه على درايفر D  اسمه READFILE  وصلاحيه لليوزر الذي نريد ان يقرأ ويكتب على الفايل.

 

 

نأتي لكود  EXTERNAL TABLE


CREATE TABLE EMP_EXTRNAL

(

EMP_NO NUMBER,

EMP_NAME VARCHAR2(20),

EMP_ENTER VARCHAR2(20),

EMP_EXIT VARCHAR2(20)

)

ORGANIZATION EXTERNAL

(

TYPE ORACLE_LOADER

DEFAULT DIRECTORY READFILE

ACCESS PARAMETERS


(

RECORDS DELIMITED BY NEWLINE

CHARACTERSET AR8MSWIN1256

BADFILE READFILE:'EMPBAD.bad'

LOGFILE READFILE:'EMPLOG.log'

DISCARDFILE READFILE:'EMPDISC.dis'

SKIP 1

FIELDS TERMINATED BY ';'

OPTIONALLY ENCLOSED BY '"' LRTRIM

MISSING FIELD VALUES ARE NULL

(

EMP_NO,

EMP_NAME ,

EMP_ENTER ,

EMP_EXIT

)

)

LOCATION (READFILE:EMP.csv')

)

نكمل الشرح ....

EMP_EXTARNAL.txt

تم تعديل بواسطة Gaith Rammaha
رابط هذا التعليق
شارك

CREATE TABLE EMP_EXTRNAL

(

                EMP_NO NUMBER,

                EMP_NAME VARCHAR2(20),

                EMP_ENTER VARCHAR2(20),

                EMP_EXIT VARCHAR2(20)

)

لا يحتاج للشرح انشاء جدول

 

 

............................

ORGANIZATION EXTERNAL

  (

      TYPE ORACLE_LOADER

     DEFAULT DIRECTORY READFILE

     ACCESS PARAMETERS

)

ORGANIZATION EXTERNAL :::: هو عبارة عن استدعاء خارجي ويكون فيه براميتر عبارة عن ...

TYPE : عباره عن النوع الذي تريد ان تستدعيه ويقسم الى   قيسمين

- ORACLE_LADER لقراة ملفات النصوص فقط

- ORACLE_DATAPUMPلأستدعاء ملفات DUMP

 

DEFAULT DIRECTORY : تحديد مكان القرائة والكتابة .

ACCESS PARAMETERS : وهو عن الملف الخارجي الذي نستدعيه (EMP.CSV)وتنسيق الذي بداخله يوجد في الكثير من البراميتيرات سيتم شرح البراميتر المستخدم .

LOCATION: وهو تحديد مكان القرائة والكتابة READFILE  وهو اختياري .


  (

RECORDS DELIMITED BY NEWLINE

       CHARACTERSET AR8MSWIN1256

    BADFILE     READFILE:EMPBAD.bad'

    LOGFILE     READFILE:EMPLOG.log'

    DISCARDFILE READFILE:EMPDISC.dis'

    SKIP 1

    FIELDS TERMINATED BY ';' 

    OPTIONALLY ENCLOSED BY '"' LRTRIM

    MISSING FIELD VALUES ARE NULL

(

   EMP_NO,

  EMP_NAME  ,

  EMP_ENTER ,

  EMP_EXIT       

  )



  ACCESS PARAMETERS

  1. RECORDS DELIMITED BY NEWLINE: تحديد نهاية السطر الاول او الريكورد وهو في هذة الحالة عند سطر جديد .
  2.        CHARACTERSET AR8MSWIN1256 : تحديد اللغة داخل الملف وفي هذه الحالة يقرأ اللغة العربية
  3.     BADFILE     READFILE:’EMPBAD.bad' : يكتب لي ملف BAD  بنفس المسار المحدد يجلب لي الداتا التي يوجد بها اخطاء .
  4.     LOGFILE     READFILE:EMPLOG.log' : يكتب لي ملف LOG  يوجد داخلة المشكلة ولماذا لم يتم قراءة الملف
  5.     DISCARDFILE READFILE:EMPDISC.dis': في حالة تحديد شروط يتم كتابتها داخل الكود على الداتا التي بداخل الاكسل او ملف النص ووجد خطأ يتم كتابة هذا الملف والكود الذي تم انشائه مسبقا لا يحتوي شروط .
  6. SKIP 1 : يتم تجاهل اول صف وهو عبارة عن الهيدرز .
  7. FIELDS TERMINATED BY ';'   : يتم الانتقال الى COLUMN  الثاني عند وجود ;  والتأكد من ذلك تستطيع قرائة CSV  داخل NOTEBAD  ومشاهدة ; .
  8. OPTIONALLY ENCLOSED BY '"' LRTRIM : يتم في هذة الحالة الغاء كل الفراغات من يمين او شمال الكلمة الموجودة داخل كل CELL  وتكون عباره عن ".
  9.   MISSING FIELD VALUES ARE NULL : اي نقص في CELL  داخل اكسل يعتبره NULL . .
  10. يتم اعطائة اسماء COLUMN  بالترتيب حسب EXCEL .

بنسبة الى البراميتر فيوجد براميتر لم يتم شرحها لاكن في هذا الشرح تم تغطية معظمها  .

 

وانتهينا من الشرح ودمتم يخير .......

تم تعديل بواسطة Gaith Rammaha
رابط هذا التعليق
شارك

ماشا الله قمة في الإبداع يا مبدع!!

 

جاري تطبيقها بإذن الله 

 

موووفق..

رابط هذا التعليق
شارك

  • بعد 3 شهور...
  • بعد 2 سنة...

 

جزاك الله خيرا .. فعلا موضوع مهم و جاري التنفيذ 

 

رابط هذا التعليق
شارك

  • بعد 2 أسابيع...

جزاكم الله خير ولكن كان عندي سؤوال وهو كيف امنع مستخدمي الاكسيل من سحب بيانات من قاعدة بيانات اوراكل

رابط هذا التعليق
شارك

  • بعد 6 شهور...
  • بعد 8 شهور...
  • بعد 4 شهور...
  • بعد 2 شهور...
في ٢١‏/٥‏/٢٠١٦ at 21:18, Ahmad.Hasan said:

جزاك الله كل خير...

 

شرح جميل...

 

write  SQL statements to do the following (apply on default profile) 
 limit attempts to guess passwords by locking an account after four failed logon attempts .
change the cost of cpu-per-session to 10 ,connect-time to 5 ,logical-reads-per-session to  2. 
set the composite limit to 2.500.000
password lock time for two hours
allow the user to reuse the old password after 5 password changes.
hint : use 
alter profile profile_name limit

 

ممكن حل لهاد ضروري 

رابط هذا التعليق
شارك

  • بعد 2 شهور...

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية