colla بتاريخ: 2 أكتوبر 2008 تقديم بلاغ مشاركة بتاريخ: 2 أكتوبر 2008 بسم الله الرحمن الرحيم وبعد السلام عليكم ورحمة الله وبركاته حقيقه ياشباب هذه اول مشاركه لي في هذا المنتدى الذي أخذت منه من العلم في مجال الاوراكل ما احمد الله عليه ومشاركتي وارجو الله ان لا يكون هنالك من سبقني عليها وهي كيف اقوم بقراءة محتويات مجلد في والكود هو ولا تنسونا من دعواتكم وتعليقاتكم وارجو ان تكونو صريحين معي إن كان هنالك من سبقني عليها فأخبروني وإن لم يكن فالحمد لله ان استطعت ان اضع شيئا جديدا في هذا المنتدى CREATE OR REPLACE PROCEDURE list_directory (directory VARCHAR2) IS ns VARCHAR2(1024); v_directory VARCHAR2(1024); BEGIN v_directory := directory; SYS.DBMS_BACKUP_RESTORE.SEARCHFILES(v_directory, ns); FOR each_file IN (SELECT fname_krbmsft AS name FROM x$krbmsft) LOOP DBMS_OUTPUT.PUT_LINE(each_file.name); END LOOP; END; / اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
khaledmega بتاريخ: 3 أكتوبر 2008 تقديم بلاغ مشاركة بتاريخ: 3 أكتوبر 2008 ممكن توضح لنا اهمية والكود وفيما يستخدم ؟خاصة انى حاولت تطبيقه وكانت هى هذا الخطاء LINE/COL ERROR -------- ----------------------------------------------------------------- 7/1 PL/SQL: Statement ignored 7/1 PLS-00201: identifier 'SYS.DBMS_BACKUP_RESTORE' must be declared 8/18 PL/SQL: SQL Statement ignored 8/52 PL/SQL: ORA-00942: table or view does not exist 9/1 PL/SQL: Statement ignored 9/22 PLS-00364: loop index variable 'EACH_FILE' use is invalid SQL> وشكرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
colla بتاريخ: 6 أكتوبر 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 6 أكتوبر 2008 اولا اشكرك يا اخ khaledmega على اهتمامك بالموضوع سبب الخطئ الذي يظهر عندك هو انه يجب عليك لتنفيذ هذا الكود الدخول على قاعدة البيانات لديك كمدير لقاعدة البيانات بالصورة التاليهstart -> run -> cmd -> sqlplus /nolog ثم بعد ذلك conn sys as sysdba;كلمة المرور حسب الكلمة التي وضعتها عند تستيب الاوراكل وإذا لم تقم بوضع كلمة مرور أ ضغط إنتر فقطثم بعد ذلك تقوم بوضع هذا الكود على النافذه ولم ننتهي بعد تقوم بمنح المستخدم الذي تريد إعطائه صلاحية تنفيذ هذا الكود , هذا إذا رغبت في تنفيذ هذا الكود على مستخدم آخر grant execute on list_directory to scott/your_passقبل التنفيذ اكتب الامر التالي set serveroutput on;إذا رغبت في تنفيذ هذا الكود على نفس المستخدم مدير قاعدة البيانات نفذبالصورة التالية :execute list_directory(your_dir)اما بالنسبه لأهمية إستخدام هذا الكود فهي إذا احتجنا إلى معرفه اسماء الملفات الموجوده داخل مجلد ما فهذا الكود يقوم بجلب اسماء هذه الملفات لنا.كل المطلوب منك هو تنفيذ هذا الكود مع إرسال إسم المجلد الذي يحتوي على ملفاتك مثلا قم بإنشاء مجلد على درايف على قرصك الصلب فالنفترض الدرايف ( D:\ ) واعطه الاسم khaledmega وقم بوضع بعض الملفات عليه بغض النظر عن نوع هذه الملفات فالنفترض انها صور مثلا .بعد تنفيذ هذا الكود قم بتنفيذه بالصوره التاليه execute list_directory('d:\khaledmega')إذا رغبت بتنفيذ هذا الكود على مستخدم آخر بعد منحه الصلاحيه كما وضحت سابقا قم بالتنفيذ بالصورة التاليه execute sys.list_directory('d:\khaledmega')مثال :وتتم الاستفاده من هذا الكود إذا افترضنا انك مدير لقاعدة بيانات في احدى الشركات ، وقاعدة البيانات هذه فيها جدول يحتوي على بيانات جيمع الموظفين في هذه الشركه وتم إقتراح وضع صورة بجوار كل موظف في form الخاص بعرض بيانات الموظفين وقام الموظفين بجلب صورهم وتم إدخالها على الحاسب وتم وضع كل هذه الصورفي مجلد واحد . الآ ن فالنفترض ان عدد هذه الصور يتجاوز الالف صورة وكلها موجوده في مجلد واحد فما هو الحل . هل سنقوم بإضافه هذه الصورة واحده تلو الآخرى على هذا الجدول بواسطة الامر update ، لا اعتقد ذلك لاننا في هذه الحالة سوف نخلص في سنه. إذا خلصنا. ام سنقوم بإنشاء procedure مهمته جلب إسم الصورة ومقارنتها مع إسم الموظف ووضعها في الحقل الخاص بالصورة التابع لهذا الموظف . ولك ان تختار اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
colla بتاريخ: 8 أكتوبر 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 8 أكتوبر 2008 مشاء الله على الشباب 67 واحد يدخل على الصفحة ولا تعليق واحدإحباط 100% اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.