往orcale上传大文件如果只是C/S结构的话,已经解决。
但是我的项目用了remoting; 通过remoting上传大文件到oracle 我没找到好办法。如果是SQLSERVER 可以通过分段上传,SQLSERVER里有个updatetext函数, 可以一段一段追加上去。oracle里可不可以也通过分段追加的方法呢?如果可以就解决问题了;我前一阵子没找到办法, 所以在上传大文件的功能上是直接连接数据库的, 没有通过remoting,   因为对oracle不是很熟悉, 今天部署起来才发现:如果直接连数据库的话必须要装oracle客户端, 那样太麻烦了。每台电脑都要装个客户端, 还要配置。真不是一般的麻烦。所以我现在只有两个选择:1 就是每个客户都装oracle客户端。2:解决通过remoting 往ORACLE上传大文件的问题再不成就只好全部改成sqlserver,晕啊, 工程太大了。 期待高手指点。

解决方案 »

  1.   

    remoting是什么?你先把文件用别的方法传到服务器,在插入到数据库里啊。
      

  2.   

    在Oracle中再自编一个update_text函数, 不是也可以一段一段追加上去吗?
      

  3.   

    如果能自编一个update_text函数,大致思路为:
    1.打开汇总大文件BigFile,并锁定;
    2.把数据追加至BigFile尾;
    3.传完后,关闭文件并解锁。
      

  4.   

    1。如果你是把大文件存储到数据库可以通过DBMS_LOB.APPEND 来分段追加到指定的列。2。如果是把大文件存储到操作系统,那跟oracle就没有关系了。
      

  5.   

    The routines that can modify BLOB, CLOB, and NCLOB values are: APPEND() - append the contents of the source LOB to the destination LOB 
    COPY() - copy all or part of the source LOB to the destination LOB 
    ERASE() - erase all or part of a LOB 
    LOADFROMFILE() - load BFILE data into an internal LOB 
    TRIM() - trim the LOB value to the specified shorter length 
    WRITE()- write data to the LOB from a specified offset 
    The routines that read or examine LOB values are: GETLENGTH() - get the length of the LOB value 
    INSTR() - return the matching position of the nth occurrence of the pattern in the LOB 
    READ() - read data from the LOB starting at the specified offset 
    SUBSTR() - return part of the LOB value starting at the specified offset 
    The read-only routines specific to BFILEs are: FILECLOSE() - close the file 
    FILECLOSEALL()- close all previously opened files 
    FILEEXISTS() - check if the file exists on the server 
    FILEGETNAME() - get the directory alias and file name 
    FILEISOPEN() - check if the file was opened using the input BFILE 
    locators 
    FILEOPEN() - open a file