ORACLE TECHNOLOGY NETWORK
 
 
   

Oracle Technology Network (OTN) Japan - 掲示板 » テクノロジー » プログラミング一般

スレッド: UTL_FILEパッケージでのファイル操作

このスレッドに返信する このスレッドに返信する スレッド一覧へ スレッド一覧へ

Permlink 返信数: 13 - ページ数: 1 - 最新投稿 : 2002/11/06 12:25 最新投稿者: U210708764 - スレッド表示形式:
note_pc

投稿数: 209
登録日時: 00/11/13


UTL_FILEパッケージでのファイル操作
投稿時刻: 2002/10/31 16:08
  このスレッドに返信します… 返信

お世話になります。

UTL_FILEパッケージでファイル操作をしているのですが、
PL/SQLでは、フォルダ作成・削除、ファイル削除等はできない
のでしょうか?
もちろん、サーバー側での操作です。

OS:windows2000
Oracle:8.1.7

よろしくお願いします。


naka-chan

投稿数: 74
登録日時: 01/02/22


RE:UTL_FILEパッケージでのファイル操作
投稿時刻: 2002/10/31 16:19   note_pc さんへの返信です。 note_pc さんへの返信です。
  このスレッドに返信します… 返信

サーバー側での操作ってのがよくわかりませんが、
フォルダの作成、削除は出来ません。
ひょっとするとNULLにすればファイル削除はできるのかな?

note_pc

投稿数: 209
登録日時: 00/11/13


RE[1]:UTL_FILEパッケージでのファイル操作
投稿時刻: 2002/10/31 16:31   naka-chan さんへの返信です。 naka-chan さんへの返信です。
  このスレッドに返信します… 返信

naka-chanさん ありがとうございます。

>サーバー側での操作ってのがよくわかりませんが、
>フォルダの作成、削除は出来ません。
>ひょっとするとNULLにすればファイル削除はできるのかな?

UTL_FILEでのファイル操作は、クライアントにファイル作成
とかはできませんよね?
このためにサーバー側の操作と言ったのですが・・・。

ファイルをオープンして、すぐにクローズしたら空ファイルが
作成されるだけで、ファイルは削除されません。

日毎のログをフォルダ管理したくてこのような質問をしたのですが、
やっぱり他のツール等でフォルダだけ作成しなければならない
のしょうか?


naka-chan

投稿数: 74
登録日時: 01/02/22


RE[2]:UTL_FILEパッケージでのファイル操作
投稿時刻: 2002/10/31 16:40   note_pc さんへの返信です。 note_pc さんへの返信です。
  このスレッドに返信します… 返信

>UTL_FILEでのファイル操作は、クライアントにファイル作成
>とかはできませんよね?
>このためにサーバー側の操作と言ったのですが・・・。
セキュリティの問題がありますが、ネットワークドライブ接続してやればいけそうな気もするような...
>
>ファイルをオープンして、すぐにクローズしたら空ファイルが
>作成されるだけで、ファイルは削除されません。
そうでしたか...それは申し訳ない

>やっぱり他のツール等でフォルダだけ作成しなければならない
>のしょうか?
と思います。

note_pc

投稿数: 209
登録日時: 00/11/13


RE[3]:UTL_FILEパッケージでのファイル操作
投稿時刻: 2002/10/31 16:49   naka-chan さんへの返信です。 naka-chan さんへの返信です。
  このスレッドに返信します… 返信

>セキュリティの問題がありますが、ネットワークドライブ接続して
>やればいけそうな気もするような...
これは各クライアントをあらかじめサーバーのネットワークドライブ設定
をしなければいけませんよね?
クライアントPCの台数が少なく、クライアントPC固定されて
いればできるかもしれませんね。

ちなみにORACLEのツールで、フォルダ作成等の操作ができるものは
ありますでしょうか?


yasunorikaku

投稿数: 3,444
登録日時: 98/11/27


RE[4]:UTL_FILEパッケージでのファイル操作
投稿時刻: 2002/10/31 17:15   note_pc さんへの返信です。 note_pc さんへの返信です。
  このスレッドに返信します… 返信

>>セキュリティの問題がありますが、ネットワークドライブ接続して
>>やればいけそうな気もするような...
>これは各クライアントをあらかじめサーバーのネットワークドライブ設定
>をしなければいけませんよね?
>クライアントPCの台数が少なく、クライアントPC固定されて
>いればできるかもしれませんね。
>
>ちなみにORACLEのツールで、フォルダ作成等の操作ができるものは
>ありますでしょうか?

PL/SQLから外部プロシージャをコールする、ってのも手ですね。
目的を達するようなDLLを使用するか、
kernel32に用意されているAPIを使用するか、
手段は色々あるとは思います。

note_pc

投稿数: 209
登録日時: 00/11/13


RE[5]:UTL_FILEパッケージでのファイル操作
投稿時刻: 2002/10/31 17:23   yasunorikaku さんへの返信です。 yasunorikaku さんへの返信です。
  このスレッドに返信します… 返信


>PL/SQLから外部プロシージャをコールする、ってのも手ですね。
>目的を達するようなDLLを使用するか、
>kernel32に用意されているAPIを使用するか、
>手段は色々あるとは思います。

yasunorikaku さん ありがとうございます。

PL/SQLからDLLを呼び出すことができるんですか?
具体的に教えていただければ嬉しいのですが。
DLLが使えればすぐに実現できる仕様なので。

よろしくお願いします。

yasunorikaku

投稿数: 3,444
登録日時: 98/11/27


RE[6]:UTL_FILEパッケージでのファイル操作
投稿時刻: 2002/10/31 17:40   note_pc さんへの返信です。 note_pc さんへの返信です。
  このスレッドに返信します… 返信


>PL/SQLからDLLを呼び出すことができるんですか?
>具体的に教えていただければ嬉しいのですが。
>DLLが使えればすぐに実現できる仕様なので。


具体例ではありませんが、
幾つかOracleの環境設定も必要になるかも知れませんので、
まずは、
「Oracle8i アプリケーション開発者ガイド 基礎編, リリース8.1」
 −「10 外部ルーチン」
を参照して見てください。


# フォーラムでも話題になっていた事もありますので、
# 「外部プロシージャ」をキーワードに検索してみると良いでしょう。

note_pc

投稿数: 209
登録日時: 00/11/13


RE[7]:UTL_FILEパッケージでのファイル操作
投稿時刻: 2002/11/01 9:32   yasunorikaku さんへの返信です。 yasunorikaku さんへの返信です。
  このスレッドに返信します… 返信

yasunorikaku さん ありがとうございました。

DLLが使えそうなので、仕様を満たせるプログラム
ができそうです。

DLLが使えるとなるとPL/SQLってかなり使えますね。

uchinom

投稿数: 306
登録日時: 02/06/17


RE[8]:UTL_FILEパッケージでのファイル操作
投稿時刻: 2002/11/01 13:21   note_pc さんへの返信です。 note_pc さんへの返信です。
  このスレッドに返信します… 返信

>DLLが使えそうなので、仕様を満たせるプログラム
>ができそうです。
>
>DLLが使えるとなるとPL/SQLってかなり使えますね。

dllを使用するときはなんか準備をしておかないと
いけないはずです。
今、手元に資料が無いのですぐに提示できませんが、
何か変更したはず・・・・

yasunorikaku

投稿数: 3,444
登録日時: 98/11/27


RE[9]:UTL_FILEパッケージでのファイル操作
投稿時刻: 2002/11/01 13:28   uchinom さんへの返信です。 uchinom さんへの返信です。
  このスレッドに返信します… 返信

>>DLLが使えそうなので、仕様を満たせるプログラム
>>ができそうです。
>>
>>DLLが使えるとなるとPL/SQLってかなり使えますね。
>
>dllを使用するときはなんか準備をしておかないと
>いけないはずです。
>今、手元に資料が無いのですぐに提示できませんが、
>何か変更したはず・・・・

1)OSでのディレクトリ作成・パーミッション設定

2)
・初期化パラメタUTL_FILE_DIRの設定
あるいは
・CREATE DIRECTORYとGRANTによる
 Oracleでのディレクトリ作成と権限の設定

です。

note_pc

投稿数: 209
登録日時: 00/11/13


RE[10]:UTL_FILEパッケージでのファイル操作
投稿時刻: 2002/11/01 16:40   yasunorikaku さんへの返信です。 yasunorikaku さんへの返信です。
  このスレッドに返信します… 返信

>>>DLLが使えそうなので、仕様を満たせるプログラム
>>>ができそうです。
>>>
>>>DLLが使えるとなるとPL/SQLってかなり使えますね。
>>
>>dllを使用するときはなんか準備をしておかないと
>>いけないはずです。
>>今、手元に資料が無いのですぐに提示できませんが、
>>何か変更したはず・・・・
>
>1)OSでのディレクトリ作成・パーミッション設定
>
>2)
>・初期化パラメタUTL_FILE_DIRの設定
>あるいは
>・CREATE DIRECTORYとGRANTによる
> Oracleでのディレクトリ作成と権限の設定
>
>です。

外部プロシージャの使用設定に関する説明は
以下のマニュアルに詳しく載っていましたよ。

Oracle8i管理者ガイド81
- 外部プロシージャのプロセス管理
- 外部ルーチンをコールするための環境の設定

一応、簡単なサンプルで実現できました。

ありがとうございました。


yasunorikaku

投稿数: 3,444
登録日時: 98/11/27


RE[10]:UTL_FILEパッケージでのファイル操作
投稿時刻: 2002/11/01 16:51   yasunorikaku さんへの返信です。 yasunorikaku さんへの返信です。
  このスレッドに返信します… 返信


>>dllを使用するときはなんか準備をしておかないと
>>いけないはずです。
>>今、手元に資料が無いのですぐに提示できませんが、
>>何か変更したはず・・・・
>
>1)OSでのディレクトリ作成・パーミッション設定
>
>2)
>・初期化パラメタUTL_FILE_DIRの設定
>あるいは
>・CREATE DIRECTORYとGRANTによる
> Oracleでのディレクトリ作成と権限の設定
>
>です。

うーん、大勘違いをしてた。(^_^;)
extprocを設定するんでしたね。(恥

# 実務の9iのCREATE DIRECTORYによる
# UTL_FILE関連のトラブルと、
# 外部プロシジャ設定がごっちゃになってました。

と言うことで、
まずはtnsnames.oraとlistener.oraに
外部プロシジャコール用のextprocの設定を施し、
その後、extproc専用のリスナーを起動させる、
と言うのが正しいです。


U210708764

投稿数: 376
登録日時: 00/10/13


RE:UTL_FILEパッケージでのファイル操作
投稿時刻: 2002/11/06 12:25   note_pc さんへの返信です。 note_pc さんへの返信です。
  このスレッドに返信します… 返信

こんにちは。
残念ですが、PL/SQLでは出来ませんね。
Cでモジュールを作成してからdllライブラリーを使えば出来ます。



>お世話になります。
>
>UTL_FILEパッケージでファイル操作をしているのですが、
>PL/SQLでは、フォルダ作成・削除、ファイル削除等はできない
>のでしょうか?
>もちろん、サーバー側での操作です。
>
>OS:windows2000
>Oracle:8.1.7
>
>よろしくお願いします。







ウェブサイトのご使用条件 | 個人情報保護基本方針/情報保護基本方針