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

dennyjava 2004-05-08 10:39:34
各位大虾:
我在procedure 或 function里需要把linux下的.tar解包,然后处理解包生成的纯文本文件,在pl sql中,我该怎么办?
thanks in advance!
...全文
147 5 打赏 收藏 转发到动态 举报
写回复
用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...
代码下载地址: https://pan.quark.cn/s/a4b39357ea24 在Android系统上达成蓝牙与便携式打印机的连接,通常包含了一系列技术要素和操作流程。名为"Android连接蓝牙打印机(cpcl指令)Demo完整版"的项目提供了一个全面的解决方案,它运用了专门的打印机指令集——CPCL(Control Program for ClearType Language),该指令集主要用于操控打印作业,尤其适用于标签和面单的打印。以下是关于此主题的详尽阐述: 1. **蓝牙传输打印**:Android平台内置了`BluetoothAdapter`类别用于管理蓝牙数据交互。必须确认设备已启用蓝牙功能,随后对邻近的蓝牙设备进行探测。`startDiscovery()`函数负责启动搜寻过程,而`getBondedDevices()`能够列出已建立配对的设备。 2. **建立与便携打印机的联系**:当识别出目标打印机后,可借助`BluetoothDevice`类中的`createRfcommSocketToServiceRecord()`函数构建RFCOMM(蓝牙串行端口协议)的通道。一旦连接建立成功,便可通过`connect()`函数与打印机展开信息交流。 3. **CPCL编码**:CPCL是一种与ESC/POS类似的页面描述性语言,它用于调控打印机的输出格式、文字样式、条形码等。比如,`^PJL`用于设定页面布局,`^FO`指定输出位置,`^A`设定字体尺寸,`^BC`生成条形码,`^PG`执行分页操作。在Android程序中,需将CPCL编码转为文本格式,再经由蓝牙通道传输至打印机。 4. **博思达软件开发工具包**:博思达作为一家著名的打印...

17,134

社区成员

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

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