muaaz بتاريخ: 19 يوليو 2004 تقديم بلاغ مشاركة بتاريخ: 19 يوليو 2004 السلام عليكم ورحمة الله وبركاتهتحية طيبة لجميع أعضاء المنتدى وبصراحة عقدتني على الآخر utl_fileأرجو من الإخوان المساعدة في هذه المشكلة عندما جربت الكود للكتابة على ملف : create or replace procedure sal_status(p_filedir in varchar2,p_filename in varchar2) is v_filehandle utl_File.file_type; cursor emp_info is select ename,sal,deptno from emp order by deptno; v_newdeptno number; v_olddeptno number:=0; begin v_filehandle :=utl_file.fopen(p_filedir,p_filename,'w'); utl_file.putf(v_filehandle,'salary report : Generated on %s\n',sysdate); utl_file.new_line(v_filehandle); for v_emp_rec in emp_info loop v_newdeptno:=v_emp_rec.deptno; if v_newdeptno <> v_olddeptno then utl_file.putf(v_filehandle,'Department: %s\n',v_emp_rec.deptno); end if; utl_file.putf(v_filehandle,' Employee:%s earns: %s\n',v_emp_rec.ename,v_emp_rec.sal); v_olddeptno:=v_newdeptno; end loop; utl_file.put_line(v_filehandle,'**** End of Report ****'); utl_file.fclose(v_filehandle); exception when utl_file.invalid_path then raise_application_error(-20001,'invalid path'); when utl_file.invalid_filehandle then raise_application_error(-20002,'invlaid file '); when utl_file.write_error then raise_application_error(-20003,'unable to write to file '); end; / عند التنفيذ : sql> exec sal_status('C:\test ' , 'salary.txt '); حيث أن الـTEST هو الدليل والــ Salary هو الملف سؤال ثاني :الكود للقراءة من ملف : create or replace procedure get_sal(dir_file in varchar2,txt_file varchar2) is v_file utl_file.file_type; begin v_file:=utl_file.fopen(dir_file,txt_file,'r'); utl_file.get_line(v_file); dbms_output.put_line('End of Line '); exception when utl_file.invalid_mode then raise_application_error(-20002,'invalid mode'); when utl_file.invalid_path then raise_application_error(-20001,'invalid path'); when utl_file.invalid_filehandle then raise_application_error(-20003,'invalid filehandle'); when utl_file.read_error then raise_application_error(-20004,'invalid read error'); end; / يعطي خطأ في برامترات الـget_lineتم تنسيق المشاركة : أخي العزيز تنظيمك لمشاركتك يعجل لك بالرد ... إدارة المنتدى اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
muaaz بتاريخ: 21 يوليو 2004 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 21 يوليو 2004 أرجو من الأخوة الأفاضل الرد على هذا للموضوع للضرورة .مع كل التقدير والإحترام ..أخوكم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
moahmed_egpt بتاريخ: 14 فبراير 2013 تقديم بلاغ مشاركة بتاريخ: 14 فبراير 2013 SET SERVEROUTPUT ON; DECLAREV_FILE UTL_FILE.FILE_TYPE;V_RESULT VARCHAR2(2000);X NUMBER:=1;BEGINV_FILE:=UTL_FILE.FOPEN('MY_DIR' , 'TEXT.TXT' , 'R');LOOPUTL_FILE.GET_LINE(V_FILE,V_RESULT);DBMS_OUTPUT.PUT_LINE(V_RESULT);X:= X + 1;EXIT WHEN X=55;END LOOP;UTL_FILE.FCLOSE(V_FILE);END;/SHOW ERROR; ------------------------------- GET_LINE(FILE , RESULT OUT PUT CHAR) البرامتر الثاني يستخدم للجلب القيمة من الملف النصي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.