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

طلب طريقة تحويل البيانات من csv إلى أوراكل


IGBSpeed

Recommended Posts

السلام عليكم ورحمة الله وبركاته ،،
أخواني وأعزائي الأفاضل

أريد طريقة التحويل الصحيحة من جداول Excel بصيغة (csv) إلى جدول معين بقاعدة البيانات ولنفترض أنه جدول الأقسام Dept "Departments" الخاص بمستخدم Scott بحيث أن الملف يحتوي على عدد من الحقول التي نرغب بإستيرادها عن طريق Sql*Plus بإستخدام Control Files ،،،
شاكرين لكم

قد يبدو للبعض منكم أن هذا الموضوع مكرر من قبل ولكنه موضوع بحد ذاته منفصل عن ما هو موجود بالمنتدى ،،
وشكراً ،،

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

السلام عليكم ورحمة الله وبركاته ،
اخى الكريم هذا النص من مأخوذ من نص الأخ msh

يوجد الكثير من المميزات الجديدة والمفيدة في الإصدار التاسع من قاعدة بيانات أوراكل ORACLE 9i ومنها دعم إنشاء الجداول الخارجية External Tables وهي عبارة عن جداول يتم تعريف هيكلها STRUCTURE في داخل قاعدة البيانات ويتم حفظ بياناتها في خارج قاعدة البيانات وهي مشابهة للجداول العادية فيما عدا أن البيانات لايتم حفظها في ملفات DATAFILES وأيضا لاتتم إدارة هذه الجداول عن طريق قاعدة بيانات أوراكل .

وهذا مثال تطبيقي وتوضيحي للموضوع :

1-ننشئ ملف إكسل يحتوي على 3 أعمدة هي ( رقم الموظف ، الإسم ، العمل ) ثم نقوم بتعبئة بيانات الموظفين ونحفظ الملف في صيغة comma-separated values *.CSV أي أن بيانات الجدول سوف تكون مفصولة بفاصلة مثل 7788,SCOTT,ANALYST ونحفظ هذا الملف في c:\emp\emp.csv .

2-بعد الإنتهاء من الخطوة الأولى نقوم بإنشاء مجلد DIRECTORY OBJECT في الأوراكل وفائدة هذا المجلد هو أنه يعمل كمؤشر للمجلدالذي قمنا بإنشاءه في نظام التشغيل :

CODE

SQL> CREATE DIRECTORY EMP_DIR AS 'c:\emp';
Directory created.




3-نقوم الآن ببناء الجدول في الأوراكل عن طريق تنفيذ مايلي :

CODE

create table emp2 (
empno number,
ename varchar2(50),
job varchar2(20)
)
organization EXTERNAL (
type oracle_loader
default directory EMP_DIR
access parameters
( records delimited by newline
badfile 'emp.bad'
logfile 'emp.log'
fields terminated by ',')
location ('emp.csv')
)reject limit unlimited
/


ملاحظات على الجملة السابقة :

نلاحظ أن الجزء الأول من الجملة هو عبارة عن إنشاء جدول كأي جدول عادي لايوجد إختلاف ، ولكن بالنسبة للجزء الثاني نلاحظ الجملة organization EXTERNAL والتي تدل على أن هذا الجدول خارجي ،أيضا هناك نوع الجدول oracle_loader وهو النوع الوحيد الذي تدعمه الأوراكل حالياً ، default directory EMP_DIR وهذا هو المجلد الذي قمنا بإنشاءه في الخطوة الثانية حيث يدل الأوراكل على مكان الملف الذي يوجد به الجدول .

ACCESS PARAMETER :

records delimited by لتحديد العلامة التي تفصل الصفوف .

badfile لتحديد الصفوف التي تم إستثنائها من الملف الرئيسي emp.csv وقت إنشاء الجدول حيث لا تنطبق عليها الشروط مثلا لو كان لدينا صف يحتوي على البيانات AAAAA/DDD....DDDLS;DLS; سوف يتم رفضه وتسجيل بياناته في الملف emp.bad .

logfile لتسجيل معلومات الأداء للجدول وأي أخطاء قد تحصل ويتم تسحيل البيانات في الملف emp.log .

fields terminated by تحديد الفاصل الذي سوف يفصل بين حقول الجدول وهو في هذه الحالة (,) .

location وهنا يتم تحديد أسم الملف الذي سوف يتم الدخول عليه وهو emp.csv .

وأخيرا reject limit حيث يتم تحديد عدد الصفوف التي يتم رفضها قبل أن تظهر رسالة خطأ توضح أن عدد الصفوف تخطى العدد المسموح به وفي هذه الحالة unlimited .

الصلاحيات :
يمكننا منح الصلاحيات على الجداول الخارجية للمستخدمين عن طريق تنفيذ الأمر :


CODE
grant read, write on directory emp_dir to hr;
grant select on emp2 to hr;

وتعني الجملة الأولى منح القراءة والكتابة في المجلد ، أما الجملة الثانية فتعني منح صلاحية select على الجدول .

مميزات الجداول الخارجية :

1- يمكن أن تسنخدم كبديل للأداة SQL LOADER حيث يمكن بناء جدول في قاعدة البيانات من بيانات الجدول الخارجي وبالتالي يتم تحميل جميع البيانات إلى قاعدة البيانات مثال :

CODE
CREATE TABLE EMPTAB AS SELECT * FROM EMP2;

عند تنفيذنا للجملة السابقة سوف يتم بناء جدول جديد بإسم EMPTAB له نفس الأعمدة والبيانات الموجودة في الجدول الخارجي .

2- يتم الإستفادة منها عند التعامل مع قواعد البيانات من data-warehousingحيث تسهل عملية إستخلاص وتحويل وتحميل البيانات .

عيوب الجداول الخارجية :
1-هي عبارة عن جداول للقراءة فقط أي أنها لايمكن تنفيذ جمل DML عليها (Insert, Update, or Delete)

2-لاتدعم الملفات التي يكون حجمها أكبر من 2 جيجا بايت .

3- لايمكن تنفيذ عدد من الأوامر عليها مثل analyze table .

4-لايتم عمل نسخ إحتياطي لبياناتها لإن إدارتها لاتتم عن طريق ORACLE SERVER
هذا ملخص عن الجداول الخارجية ،أرجوا أن تكون هذه المعلومات مفيدة ، ولاتنسونا من دعوة صالحة .

ملاجظة :
يوجد ملف مرفق يحتوي على ملف EXCEL جاهز .

هذا والله أعلم

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

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

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

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

×   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.

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

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

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