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

dennyjava 2004-05-08 10:39:34
各位大虾:
我在procedure 或 function里需要把linux下的.tar解包,然后处理解包生成的纯文本文件,在pl sql中,我该怎么办?
thanks in advance!
...全文
112 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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...

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧