اذهب الي المحتوي
Gaith Rammaha

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

Recommended Posts

Gaith Rammaha

 

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

 

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

 

 

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

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

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

 

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

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

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

 

 

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

 

 

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

 

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

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

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

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

 

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

 

 

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

excel.rar

تم تعديل بواسطة Gaith Rammaha
  • أعجبني 5

شارك هذه المشاركه


رابط المشاركه
شارك
ميسم الكرام

جزاك الله خيراً على الشرح ..وأنا من المتابعين مع حضرتك إن شاء الله 

شارك هذه المشاركه


رابط المشاركه
شارك
المبرمج الصاعد

موضوع مهم ومفيد للجميع ..بارك الله فيك..

شارك هذه المشاركه


رابط المشاركه
شارك
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
  • أعجبني 2

شارك هذه المشاركه


رابط المشاركه
شارك
Ahmad.Hasan

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

 

شرح جميل...

شارك هذه المشاركه


رابط المشاركه
شارك
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

شارك هذه المشاركه


رابط المشاركه
شارك
المبرمج الصاعد

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

 

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

 

موووفق..

شارك هذه المشاركه


رابط المشاركه
شارك
anas.soft

جزاك الله خير .. موضوع مهم .. وطريقة شرحك رئعة ..

شارك هذه المشاركه


رابط المشاركه
شارك
ahmedmohamedali

ممكن اعرف احنا ها نعمل الجدول emp علي مستخدم Hr
ولا بردو علي sys user

شارك هذه المشاركه


رابط المشاركه
شارك
Kamal m

 

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

 

شارك هذه المشاركه


رابط المشاركه
شارك
عبدالله عمر

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

شارك هذه المشاركه


رابط المشاركه
شارك
معتز79

ظهر عندي error 

ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-04001: error opening file D:\READFILE/EMPLOG.log

شارك هذه المشاركه


رابط المشاركه
شارك
Omsalem Baabbad

هل يمكن نسخ بيانات من ملف خارجي نوع اكسل الى قاعدة البيانات؟ 

شارك هذه المشاركه


رابط المشاركه
شارك
richman111

ظهر عندي error 

ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-04001: error opening file D:\READFILE/EMPLOG.log
 

شارك هذه المشاركه


رابط المشاركه
شارك
richman111

ارجو المساعدة ولكم جزيل الشكر 

 

شارك هذه المشاركه


رابط المشاركه
شارك
richman111

معترض على مكان الملف 

شارك هذه المشاركه


رابط المشاركه
شارك
إكرام
في ٢١‏/٥‏/٢٠١٦ 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

 

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

شارك هذه المشاركه


رابط المشاركه
شارك
mohamed abdo_168594

الكود لم يعمل معى

تم تعديل بواسطة mohamed abdo_168594

شارك هذه المشاركه


رابط المشاركه
شارك

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان

×
×
  • اضف...

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

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