Oracle 外部ディレクトリ のように聞こえます 仕事に最適です。これがユーザーが書き込むことができるテキスト ファイルである場合、このアプローチは困難を伴うことに注意してください。ユーザーは、エラーやその他 の原因となる可能性を信じられないほど多くのことを実行します。 .
記事より:
ディレクトリを作成する
ディレクトリ data_dir の読み取りと書き込みを your_user に許可します。
外部テーブルを作成する
CREATE TABLE test_ext ( test_code VARCHAR2(5), test_name VARCHAR2(50) ) ORGANIZATION EXTERNAL ( TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_data ACCESS PARAMETERS ( RECORDS DELIMITED BY NEWLINE FIELDS TERMINATED BY ',' MISSING FIELD VALUES ARE NULL ( test_code CHAR(5), test_name CHAR(50) ) ) LOCATION ('test1.txt','test2.txt') ) PARALLEL 5 REJECT LIMIT UNLIMITED;
プレ>次に、テーブルから読み取ります
SELECT * FROM test_ext ORDER BY test_name;
プレ>編集:データベース サーバーに配置されていないディレクトリを使用してこれを行うことはできますが、より多くの作業が必要であり、これはデータベースのセキュリティとデータ品質に対するリスクがさらに大きくなることを表しています。このアプローチもスケーリングしません。新しいユーザーが追加されるたびに、新しいディレクトリを追加するつもりですか?
Oracle が別のマシンにあるファイルにアクセスできるようにする手順 (Windows オペレーティング システムを想定)
- アクセスしたいすべてのディレクトリでファイルの読み取り権限を持つ Windows ユーザーまたはドメイン ユーザーを作成します
- データベース サーバーで services.msc を実行し、Oracle データベース サービスを実行するユーザーを新しいドメイン ユーザーに変更します。このユーザーをデータベース サーバーの ORA_DBA というローカル グループに追加します
- 変更を有効にするためにデータベースを再起動します
- //clientPc/sharedFolder のようなパスを使用して、データベースにディレクトリを作成します
- データベース ユーザーに読み取り権限を付与する
- クライアント マシンで、そのフォルダのドメイン ユーザーに読み取りを許可します
- 接続を確認する UTLFILE を使用して クライアント PC でサンプル ファイルを読み取る