首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Oracle存储过程的Zip

使用Oracle存储过程的Zip
EN

Stack Overflow用户
提问于 2010-12-10 04:32:45
回答 3查看 21.5K关注 0票数 7

现在,我正在使用Oracle实用程序UTL_COMPRESS.LZ_COMPRESS()来压缩一些数据。但问题是它使用GZIP兼容格式压缩东西,不幸的是它也不是ZIP兼容的。因此,Windows本机解压缩实用程序无法打开它(您知道压缩文件夹细化)。用户必须使用一些其他实用工具,如7ZipWinzipFilzip等,才能对其进行解压缩。

因此,我们最终有了从Oracle检索GZIP数据、使用Java解压缩GZIP数据并将其压缩回ZIP ( Windows实用程序可以解压缩的东西)的计划。对compress-in-gzip -> decompress -> compress-again-in-zip来说,这听起来很荒谬。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-10 04:58:11

有一个Java java.util.zip支持WinZip格式。在Oracle中,我们可以构建java存储过程,它以本地PL/SQL程序可以调用的形式表示Java类。了解更多信息

因此,您需要做的是写出一个包含处于未压缩状态的数据的文件,然后通过JSP将其提供给它。如果您不想编写自己的实现,那么请查看本文作者: Vadim Loevski。它包括一个用于压缩OS文件的Java存储过程。

注意:在这种情况下,JSP是指Java存储过程,它是嵌入在数据库中的Java程序。它与作为web技术的Java不同,因此JSP缩略词更常见。我对任何混乱之处表示歉意。

票数 8
EN

Stack Overflow用户

发布于 2010-12-10 07:02:13

UTL_RAW.CAST_TO_RAW不是任何一种压缩算法。不知道你是从哪里想到的。RAW (和它更大的表亲BLOB)只是存储不是数字、日期或字符串的数据。您不希望将二进制数据存储在字符串中,因为存在字符转换问题的可能性。

用于压缩的正确的PL/SQL包是UTL_COMPRESS,它使用了标准的Lempel-Ziv算法。

compr.htm#BGBBCDDI

票数 3
EN

Stack Overflow用户

发布于 2016-01-26 13:32:47

zip (博客帖子)是一个用来操作ZIP存档的原生PL/SQL包。

它处理高达4G的文件(看起来像对原始ZIP格式的限制)。

这个包是由安东·谢弗编写的,是麻省理工学院授权的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4405676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档