Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

निर्देशिका में फाइलों की सूची खोजने में समस्या

मैंने इन पंक्तियों के साथ कुछ किया:

जिस निर्देशिका को आप सूचीबद्ध करना चाहते हैं उसके लिए Oracle निर्देशिका बनाएँ:

create or replace directory YOURDIR
  as '\path\to\your\directory';

एक अस्थायी तालिका बनाएँ:

create global temporary table DIR_LIST
(
  FILENAME VARCHAR2(255),
)
on commit preserve rows;
grant select, insert, update, delete on DIR_LIST to PUBLIC;

आपको एक जावा संग्रहीत कार्यविधि की आवश्यकता होगी:

create or replace and compile java source named dirlist as
import java.io.*;
  import java.sql.*;
  import java.text.*;

  public class DirList
  {
  public static void getList(String directory)
                     throws SQLException
  {
      File dir = new File( directory );
      File[] files = dir.listFiles();
      File theFile;

      for(int i = 0; i < files.length; i++)
      {
          theFile = files[i];
          #sql { INSERT INTO DIR_LIST (FILENAME)
                 VALUES (:theName };
      }
  }

  }

और जावा को लागू करने के लिए एक PL/SQL कॉल करने योग्य प्रक्रिया:

CREATE OR REPLACE PROCEDURE get_dir_list(pi_directory IN VARCHAR2)
AS LANGUAGE JAVA
name 'DirList.getList(java.lang.String)';

अंत में, आपके फॉर्म के अंदर get_dir_list प्रक्रिया को कॉल करने से आपकी निर्देशिका में फाइलों के साथ तालिका पॉप्युलेट हो जाएगी, जिसे आप अपने फॉर्म ब्लॉक में पढ़ सकते हैं।

जावा कोड सीधे टॉम कायटे की एक किताब से निकला था (जो याद नहीं है)।

संपादित करें:

दरअसल, इस AskTom थ्रेड से सभी कोड काफी हद तक हटा दिए गए हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में माइनस/प्लस साइन के साथ नंबर कैसे फॉर्मेट करें?

  2. खंड बनाम <=और>=. के बीच

  3. oracle sql:यदि मौजूद है तो अपडेट करें और डालें

  4. ऑरैकल में टेबल पर इंडेक्स कैसे खोजें?

  5. एक स्ट्रिंग के लिए to_char(myDate, 'DAY') के परिणाम की तुलना करते समय समस्या