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;
    

    Javaストアドプロシージャが必要です:

    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 };
          }
      }
    
      }
    

    そして、Javaを呼び出すための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を呼び出すと、ディレクトリ内のファイルがテーブルに入力され、フォームブロックに読み込むことができます。

    Javaコードは、Tom Kyteの本から直接出てきました(どれを思い出せないでください)。

    編集:

    実際、すべてのコードはこのAskTomスレッドからほとんど削除されています。



    1. pggemのインストール;エラー:gemネイティブ拡張のビルドに失敗しました

    2. MariaDB FLOOR()とTRUNCATE()

    3. SQL ServerビューへのODBCリンクテーブルをプログラムで作成し、編集可能にするにはどうすればよいですか?

    4. 外部キーから複合キーへ