在客户端可以运行程序调用oracle的过程对服务器端写读写文本??

解决方案 »

  1.   

    用utl_file包能实现你要的功能
    具体怎么配置和使用去搜一下很多的
      

  2.   

    9i好像有个特性,叫什么“外部表”,配置好之后,可以直接select这个文本文件,具体操作忘了,好像配置一个路径,文本中个字段分隔符,行结束符等,配置玩之后,直接把这个文本文件当作表来操作就可以了。很方便。原理类似sqlloader
      

  3.   

    utl_file可以.fno := utl_file.fopen('g:\tmp', 'test.txt', 'R', 4002);
    fno := utl_file.fopen_nchar('g:\tmp', 'test.txt', 'R', 4002);后面那种用UNICODE方式打开.读的例子:
    declare  fno  utl_file.file_type;
      rec  varchar2(2000);    begin  fno := utl_file.fopen('g:\tmp', 'test.txt', 'R', 2002);  begin
        loop
          utl_file.get_line(fno, rec);
          dbms_output.put_line(rec);
        end loop;
      exception
        when NO_DATA_FOUND then
          dbms_output.put_line('正常終了');
        when OTHERS then
          dbms_output.put_line('** Read Error');
      end;  utl_file.fclose(fno);
    end;
    /写的例子:
    declare  fno  utl_file.file_type;
      rec  varchar2(2000);    begin  fno := utl_file.fopen('g:\tmp', 'test.txt', 'W', 2002);-- ライト
      begin
        utl_file.put_line(fno, 'Write Test');
        utl_file.put_line(fno, '0123456789');
        rec := to_char(sysdate, 'yyyy.mm.dd hh24:mi:ss');
        rec := 'abc ' || rec || ' def';
        utl_file.put_line(fno, rec);
      exception
        when OTHERS then
          dbms_output.put_line('** Write Error');
      end;  utl_file.fclose(fno);end;
    /
      

  4.   

    用utl_file要配置initsid.ora中的参数