• ベストアンサー

PL/SQLでインポート(IMP)をしたいのですが?

1.PL/SQLでテーブルのインポート(IMP)をしたいのですが どのような記述をすればよろしいでしょか? また、無理であればお、.NET VBでテーブルのインポート(IMP)をしたいのですが、どのような記述をすればよろしいでしょか? 2.上記の質問で、SQLLDRで行う場合はどうすればよいか? 大変申し訳ございませんが、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • FudaKeji
  • ベストアンサー率73% (58/79)
回答No.1

imp/expコマンドはPL/SQL用のインターフェースを持っていません。 PL/SQLから実行したいなら外部プロシージャコールを使うことになると思います。 VBからであればimpコマンドを記述したbatファイルを実行することで実現出来ます。 imp/exp と sqlldr はインプットになるファイルが異なります。またsqlldrもそれ自体が実行可能モジュールとして提供されているので方法はimpを行う場合と同じですね。 oracleのバージョンが書かれていませんが、10g以降であればDataPumpを使えます。 DataPumpはPL/SQLから実行するためのインターフェース(パッケージ)が用意されています。

to1222001
質問者

お礼

ありがとうございます。 大変参考になりました。 ちなみにoracle9.2(ODP.NET)です。 出来るか出来ないのか、解らなく、いろいろ調べていました。 余り詳しく書いている資料がありませんのでしたので、助かりました。

その他の回答 (1)

回答No.2

出来るか出来ないかで言えば、出来ます。 但し、ノンプログラミングでは出来ません。 IMP/EXP/SQLLDRは、OS上で動作する外部ユーティリティですので、 オラクル内部から起動する仕組みが必要です。 PL/SQLには、外部プロシジャ呼出という拡張機能を用意していますので、 その機能を使って、外部DLLを呼びだし、コマンドを実行することが 可能です。(JAVAストアドルーチンでも可能) また、Windowsプラットフォーム版には、COMオートメーション機能が 用意されているので、それを使うとWindows上のプログラムをコントロール 出来ます。 詳細は、アプリケーション開発者ガイド基礎編等をご覧ください。

to1222001
質問者

お礼

ありがとうがざいます。 でも、私には少し難しいかな? 「外部プロシジャ呼出という拡張機能」を少し勉強してみます。 エンドユーザーには、画面上、ボタンをクリックするだけで、 テーブルのデータがセット出来るイメージが行いかったのです。 私は、初心者ですので、どのような運用がベストが良くわかりませんでした。 回答ありがとうございます。

関連するQ&A