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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

التعامل مع Text File


5 رد (ردود) على هذا الموضوع

#1 Programmer_15

Programmer_15

    عضو

  • الأعضــاء
  • 13 مشاركة

تاريخ المشاركة 01 June 2005 - 11:56 AM

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

أخواني الأعزاء
كيف يمكنني التعامل من خلال الأوراكل مع ملف نصي Text File من حيث القراءة والتقسيم إلى حقول لوضعها في الجداول والتعامل معها

وشكراً جزيلاً لكم

#2 هناء

هناء

    عضو

  • الأعضــاء
  • 6 مشاركة

تاريخ المشاركة 01 June 2005 - 12:24 PM

يمكن ياخي الكريم تجريب التالي:
[SIZE=2]PROCEDURE GET_DATA_FROM_text_FILE(P_FILE_NAME VARCHAR2) IS
  RECORDS_file   Text_IO.File_Type;
  var1 varchar2(1000);  -- or any length
BEGIN
  
  RECORDS_file := Text_IO.Fopen(P_FILE_NAME, 'r'); 
  LOOP 
	Text_IO.Get_Line(RECORDS_file, RECORD);
	var1 := SUBSTR(par1,par2,par3);
                              --par1 : The string or line
               --par2 : The start point for red
               --par3 : The number of charcter for red

                /* insert th var 1 on table */
        
                Text_IO.New_Line;    
  END LOOP;
  Text_IO.Fclose(RECORDS_FILE); 
 EXCEPTION 
  WHEN OTHERS THEN
      Text_IO.Fclose(RECORDS_FILE); 
END;[quote][/SIZE]

تم التعديل بواسطة ابو صالح, 01 June 2005 - 05:34 PM.


#3 -=|mOOdY|=-

-=|mOOdY|=-

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,324 مشاركة

تاريخ المشاركة 01 June 2005 - 05:17 PM

thanx hana

that's cool

i will try that

صورة

!!! كم أنت عبقري !!!


#4 ابو صالح

ابو صالح

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,253 مشاركة
  • البـلـد: Country Flag
  • المنصب الحالي:(رحمه الله)

تاريخ المشاركة 01 June 2005 - 06:37 PM

بأمكانك استخدام sql*loader لتحميل من ملف نصي ،وهذا مثال بسيط.

الملف النصي
emp.txt

--empno,ename,sal,comm
--
7369,SMITH,800,0
7499,ALLEN,1600,300
7521,WARD,1250,500
7566,JONES,2975,0
7654,MARTIN,1250,1400
7698,BLAKE,2850,0
7782,CLARK,2450,0
7788,SCOTT,3000,0                     
7839,KING,5000,0                    
7844,TURNER,1500,0           
7876,ADAMS,1100,0               
7900,JAMES,950,0                   
7902,FORD,3000,0                   
7934,MILLER,1300,0

control file

LOAD DATA
   INFILE 'c:\emp.txt'
   INTO TABLE emp2
   FIELDS TERMINATED BY ","

(empno term,ename,sal,comm)

execute sql*loader

C:\>sqlldr userid=scott/tiger control='c:\cfile.txt'

SQL*Loader: Release 10.1.0.2.0 - Production on Wed Jun 1 18:34:45 2005

Copyright (c) 1982, 2004, Oracle.  All rights reserved.

Commit point reached - logical record count 15
Commit point reached - logical record count 16


SQL> select * from emp2;

     EMPNO ENAME             SAL       COMM
---------- ---------- ---------- ----------
      7369 SMITH             800          0
      7499 ALLEN            1600        300
      7521 WARD             1250        500
      7566 JONES            2975          0
      7654 MARTIN           1250       1400
      7698 BLAKE            2850          0
      7782 CLARK            2450          0
      7788 SCOTT            3000          0
      7839 KING             5000          0
      7844 TURNER           1500          0
      7876 ADAMS            1100          0
      7900 JAMES             950          0
      7902 FORD             3000          0
      7934 MILLER           1300          0

14 rows selected.

<span style='font-size:11pt;line-height:100%'>
زكاة العلم نشرة

Oracle Certifed Expert, OCE RAC
Oracle Certified Professional OCP 9i,10g
ITIL v3

</span>


#5 Programmer_15

Programmer_15

    عضو

  • الأعضــاء
  • 13 مشاركة

تاريخ المشاركة 04 June 2005 - 07:48 AM

أشكرك أختي هناء وكذلك لك يا أخي بو صالح على الشرح الممتاز

وجزاكم الله خيراً

#6 sakr_orcl

sakr_orcl

    عضو نشط

  • الأعضــاء
  • 314 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 07 August 2005 - 10:27 AM

جزاكم الله خيرا
ربنا آتـنا في الدنيا حسنة وفي الآخرة حسنة وقنا عذاب النار.
وقل ربي زدني علما.
من عمل بما علم أورثة الله علم ما لم يعلم

sakr_orcl@yahoo.com
----------------------------
خليل صقر