我的存储过程里需要解压缩.tar文件,怎么办?

dennyjava 2004-05-08 10:39:34
各位大虾:
我在procedure 或 function里需要把linux下的.tar解包,然后处理解包生成的纯文本文件,在pl sql中,我该怎么办?
thanks in advance!
...全文
79 5 点赞 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dennyjava 2004-05-08
多谢楼上的好心人!
  • 打赏
  • 举报
回复
l2g32003 2004-05-08
CREATE OR REPLACE AND COMPILE
JAVA SOURCE NAMED "Util"
AS
import java.io.*;
import java.lang.*;

public class Util extends Object
{

public static int RunThis(String[] args)
{
Runtime rt = Runtime.getRuntime();
int rc = -1;

try
{
Process p = rt.exec(args[0]);

int bufSize = 4096;
BufferedInputStream bis =
new BufferedInputStream(p.getInputStream(), bufSize);
int len;
byte buffer[] = new byte[bufSize];

// Echo back what the program spit out
while ((len = bis.read(buffer, 0, bufSize)) != -1)
System.out.write(buffer, 0, len);

rc = p.waitFor();
}
catch (Exception e)
{
e.printStackTrace();
rc = -1;
}
finally
{
return rc;
}
}
}
/

BEGIN
DBMS_JAVA.GRANT_PERMISSION
( USER,
'java.io.FilePermission',
-- '/usr/bin/ps', -- for UNIX
'C:\WINNT\system32\cmd.EXE', -- for WINDOWS
'execute');

DBMS_JAVA.GRANT_PERMISSION (
USER,
'java.lang.RuntimePermission',
'*',
'writeFileDescriptor' );
END;
/

CREATE OR REPLACE FUNCTION RUN_CMD (
P_CMD IN VARCHAR2)
RETURN NUMBER
AS
LANGUAGE JAVA
NAME 'Util.RunThis(java.lang.String[]) return integer';
/

CREATE OR REPLACE PROCEDURE RC (
P_CMD IN VARCHAR2)
AS
X NUMBER;
BEGIN
X := RUN_CMD (P_CMD);

IF (X <> 0)
THEN
RAISE PROGRAM_ERROR;
END IF;
END;
/

SET serveroutput on size 1000000
EXEC dbms_java.set_output(1000000)

EXEC rc('C:\WINNT\system32\cmd.exe /c dir')
  • 打赏
  • 举报
回复
dennyjava 2004-05-08
to Petergepeter(拔刀斋) :
java可以解.tar文件吗?用哪个包?
  • 打赏
  • 举报
回复
Petergepeter 2004-05-08
用JAVA 或PRO C PROCEDURE。
  • 打赏
  • 举报
回复
dennyjava 2004-05-08
help...
up...
  • 打赏
  • 举报
回复
相关推荐
发帖
Oracle
加入

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2004-05-08 10:39
社区公告
暂无公告