ITPUB论坛 » Oracle开发 » 怎样在procedure调用sql*load把excel的数据导入数据库
新一届的微软MVP评选已经开始,欢迎各位推荐!
2008-7-4 10:32 qgw521
怎样在procedure调用sql*load把excel的数据导入数据库

请问下有没有朋友做过在procedure调用sql*loader把excel的数据导入数据库?如有,麻烦说下你的做法!

[[i] 本帖最后由 qgw521 于 2008-7-4 11:56 编辑 [/i]]

2008-7-4 10:37 yuchangle
不知道,等答案

2008-7-4 13:27 mihawk
在proceduer里访问Oracle之外的数据?
这种方式不好, 两者之间的协调很难做好.

2008-7-4 13:37 zhangfengh
别用sqlload,用外部表

2008-7-4 13:42 喃喃
写个job,在procedure中调用这个job
应该可以吧,我没试过

2008-7-4 13:50 DragonBill
/*
* Step 1: write store procedure using Java
*/
CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED MyCmd AS
import java.io.*;
public class MyCmd {
  public static void executeCommand(String command) {
    try {
      String[] strCmd;
      strCmd = new String[4];
      strCmd[0] = "C:\winnt\system32\cmd.exe";  // for win2000
      strCmd[1] = "/y";
      strCmd[2] = "/c";
      strCmd[3] = command;
  
      final Process pr = Runtime.getRuntime().exec(strCmd);
      pr.waitFor();

      /*
       *new thread do it. I'd forgot the implement codes:shy2:
       */
};
/

/*
* Step 2: Call Java procedure in PL/SQL
*/
CREATE OR REPLACE PROCEDURE PLSQL_CMD (V_CMD  IN  VARCHAR2)
AS LANGUAGE JAVA
NAME 'MyCmd.executeCommand (java.lang.String)';
/


/*
* Step 3: Use PL/SQL SP execute your command
*/
BEGIN
   PLSQL_CMD(V_CMD => 'your sql*loader command');
END;
/

2008-7-4 13:52 DragonBill
杠杠滴:)
不过不建议在PL/SQL SP中采用这种方式操纵DATA.除非万不得已

2008-7-5 09:16 qgw521
[quote]原帖由 [i]zhangfengh[/i] 于 2008-7-4 13:37 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10854162&ptid=1016492][img]http://www.itpub.net/images/common/back.gif[/img][/url]
别用sqlload,用外部表 [/quote]
外部表?怎么用法?介绍下

2008-7-5 09:20 littlebug1978
学习ing


2008-7-5 11:00 qgw521
[quote]原帖由 [i]zhangfengh[/i] 于 2008-7-4 13:37 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10854162&ptid=1016492][img]http://www.itpub.net/images/common/back.gif[/img][/url]
别用sqlload,用外部表 [/quote]

我稍微看了下外部表的用法,觉得满足不了我的需求,我的需求是让用户在form界面上输入路径和文件名(.CSV或.txt),然后通过程序把在客户端文件里的数据导入数据库.

2008-7-5 11:41 DragonBill
原来是在FORM中用啊, 好像有个 HOST 命令可以达到你的要求

2008-7-8 10:14 rainytag
[quote]原帖由 [i]DragonBill[/i] 于 2008-7-5 11:41 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10863895&ptid=1016492][img]http://www.itpub.net/images/common/back.gif[/img][/url]
原来是在FORM中用啊, 好像有个 HOST 命令可以达到你的要求 [/quote]
procedure中也可以用host的:)

页: [1]


Powered by ITPUB论坛