oracle只写过简单的存储过程,请问各位能否实现以上功能。目前用utl_smtp发送带附件的邮件已实现。
主要不知能否用utl_compress包或其他我不知道的技术来实现将已知csv文件打成zip包文件。另考虑过用批处理命令来实现打包,那样好像依附于你本地是否安装
winzip,7zip等相关压缩软件。oracle如果将csv文件打成zip包文件,
希望知道的或做过相关功能的大牛帮帮忙utl_compressziporacle

解决方案 »

  1.   

    可以写JAVA存储过程实现压缩文件然后再用utl_smtp发送即可。
      

  2.   


    需求是不用java的,需要用pl/sql来实现
      

  3.   

    oracle不是语言,没有压缩的功能,除非你自己写压缩算法,Oracle可以帮你读写文件。或者oracle可以调用你注册在Oracle里的program,执行系统的可执行文件进行压缩。
      

  4.   


    需求是不用java的,需要用pl/sql来实现我的意思不是叫你用JAVA程序来做,而是在ORACLE里面可以用PLSQL语言结合JAVA语言写存储过程来实现
      

  5.   


    我知道oracle不是语言,不过oracle有它特有的包来补充plsql语言,
    请问你用过utl_compress么?
      

  6.   


    需求是不用java的,需要用pl/sql来实现我的意思不是叫你用JAVA程序来做,而是在ORACLE里面可以用PLSQL语言结合JAVA语言写存储过程来实现我当然知道用存储过程,关键不知道怎么写
    PLSQL里面调用java代码?
      

  7.   


    我知道oracle不是语言,不过oracle有它特有的包来补充plsql语言,
    请问你用过utl_compress么?
    那是用来把Oracle表中的数据压缩成文件的包,对文件无效,别的语言一个简单命令就可以完成的事,你还要绕一大圈读入数据库再压缩出去?真有想法。既然你这么了解Oracle,那就做去呗,用utl_raw读到数据库里,用utl_compress压缩。发送附件都能写出来读个文件是小case吧。
      

  8.   


    我知道oracle不是语言,不过oracle有它特有的包来补充plsql语言,
    请问你用过utl_compress么?
    那是用来把Oracle表中的数据压缩成文件的包,对文件无效,别的语言一个简单命令就可以完成的事,你还要绕一大圈读入数据库再压缩出去?真有想法。既然你这么了解Oracle,那就做去呗,用utl_raw读到数据库里,用utl_compress压缩。发送附件都能写出来读个文件是小case吧。晕,你说的别的语言一个简单命令就可以完成了?能否举个简单的例子呢。。
    不要说在bat里写rar a -m5 -ibck e:\xxx.zip e:\xxx.csv之类的,那需要依附系统已安装相关软件。
    我现在就想请教oracle相关技术能否实现。
    别说那些没用的
      

  9.   

    回答的都比较泛泛,没有具体的技术点以及关键字,
    要是实在不能用纯oracle相关实现,只能用其他技术了
      

  10.   

    关键字就是ORACLE JAVA存储过程,建议LZ百度一下。举个简单例子给LZ参考下:
    create or replace and compile java source named "hello_sp" as
    /**
     *创建oracle存储过程的java类
    **/
    package org.bromon.oracle;
    public class Hello
    {
      public static String say(String name)
      {
        return "你好,"+name;
      }
    }
     
    Java以创建。
     
    然后在oracle中把这个类导入成为一个函数,执行命令:
    create or replace function hello_sp(name varchar2) return varchar2
    as language java name
    'org.bromon.oracle.Hello.say(java.lang.String) return java.lang.String';
     
    函数已创建
     
    现在可以调用该函数,执行:
    select hello('bromon') from dual;
     
    返回结果:你好,bromon