- ベストアンサー
PL/SQLでインポート(IMP)をしたいのですが?
1.PL/SQLでテーブルのインポート(IMP)をしたいのですが どのような記述をすればよろしいでしょか? また、無理であればお、.NET VBでテーブルのインポート(IMP)をしたいのですが、どのような記述をすればよろしいでしょか? 2.上記の質問で、SQLLDRで行う場合はどうすればよいか? 大変申し訳ございませんが、よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
imp/expコマンドはPL/SQL用のインターフェースを持っていません。 PL/SQLから実行したいなら外部プロシージャコールを使うことになると思います。 VBからであればimpコマンドを記述したbatファイルを実行することで実現出来ます。 imp/exp と sqlldr はインプットになるファイルが異なります。またsqlldrもそれ自体が実行可能モジュールとして提供されているので方法はimpを行う場合と同じですね。 oracleのバージョンが書かれていませんが、10g以降であればDataPumpを使えます。 DataPumpはPL/SQLから実行するためのインターフェース(パッケージ)が用意されています。
その他の回答 (1)
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
出来るか出来ないかで言えば、出来ます。 但し、ノンプログラミングでは出来ません。 IMP/EXP/SQLLDRは、OS上で動作する外部ユーティリティですので、 オラクル内部から起動する仕組みが必要です。 PL/SQLには、外部プロシジャ呼出という拡張機能を用意していますので、 その機能を使って、外部DLLを呼びだし、コマンドを実行することが 可能です。(JAVAストアドルーチンでも可能) また、Windowsプラットフォーム版には、COMオートメーション機能が 用意されているので、それを使うとWindows上のプログラムをコントロール 出来ます。 詳細は、アプリケーション開発者ガイド基礎編等をご覧ください。
お礼
ありがとうがざいます。 でも、私には少し難しいかな? 「外部プロシジャ呼出という拡張機能」を少し勉強してみます。 エンドユーザーには、画面上、ボタンをクリックするだけで、 テーブルのデータがセット出来るイメージが行いかったのです。 私は、初心者ですので、どのような運用がベストが良くわかりませんでした。 回答ありがとうございます。
お礼
ありがとうございます。 大変参考になりました。 ちなみにoracle9.2(ODP.NET)です。 出来るか出来ないのか、解らなく、いろいろ調べていました。 余り詳しく書いている資料がありませんのでしたので、助かりました。