使用SQL*LoaderC:\> sqlldr userid=user/password  control=lc2.ctl log=lc2.log bad=lc2.badSQL*Loader: Release 9.2.0.1.0 - Production on Wed Jun 4 18:03:53 2003Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.Commit point reached - logical record count 50C:\> 其中lc2.ctl内容为:#--------------------------------------------
LOAD DATA
INFILE *
REPLACE
INTO TABLE 表名
FIELDS TERMINATED BY ","      ----这里指定字段间的分隔符号
(字段列表)
BEGINDATA
673969,1,20010205,174948,0000  ----这是就是一行记录(文本)
673969,3,20010205,174709,0000
...
#--------------------------------------------楼主的问题可以用一个字段来进行。

解决方案 »

  1.   

    insert into tab(str) values('12123'||chr(13)||'12121')
    chr(13):回车符
      

  2.   

    insert into tab(str) values('12123'||chr(10)||'12121')
    chr(10):换行符
      

  3.   

    那就得用util_file进行文件操作了吧,俺也不太懂,你搜搜
      

  4.   

    用utl_file包操作巴,读取文本,insert到表中
      

  5.   

    i can't understand what's your meaning completely.
    just save datas in tables?
      

  6.   

    文本内容:
    545124555
    fsdfsdfsd
    存储过程:
     v_bfile  BFILE; 
       v_clob   CLOB; 
    begin
      INSERT INTO save_file (content) 
       VALUES (empty_clob()) 
       RETURN content INTO v_clob; 
       v_bfile := BFILENAME('DOCUMENTS','x1.txt'); 
       Dbms_Lob.Fileopen(v_bfile, Dbms_Lob.File_Readonly); 
       Dbms_Lob.Loadfromfile(v_clob, v_bfile, Dbms_Lob.Getlength(v_bfile)); 
       Dbms_Lob.Fileclose(v_bfile); 
    COMMIT; 
    end;
    为什么保存是乱码呢?
      

  7.   

    在UTL_FILE中的所有操作都使用文件的句柄来实现。文件句柄就是PL/SQL中用来标识文件的值,它类似于DBMS_SQL中使用的光标。所有的文件句柄都是UTL_FILE.FILE_TYPE类型。文件句柄由OPEN返回,并作为IN(输入)类型参数传递给UTL_FILE中的其它子程序使用。1.文件打开(FOPEN)使用FOPEN函数可以打开输入或输出文件。在使用中,所打开的文件一次只 能用于输入或用于输出。不能同时都用于输入、输出。FOPEN函数的语法如下:FUNCTION FOPEN ( location  IN VARCHAR2,
                       Filename IN VARCHAR2,
                       Open_mode  IN VARCHAR2)
    RETURN  FILE_TYPE;Location 文件目录路径
    Filename  要打开的文件名,如果打开方式为“w”,则现存的文件被覆盖。
    Open_mode 文件的打开方式,“r”表示读文本;“w”表示写文本;“a”表示追加。
    Return value 返回的值。2.使用max_linesize 参数的文件打开在Oracle 8.0.5以后的版本,可以用下面函数来打开文件:FUNCTION FOPEN (location IN VARCHAR2,
                       Filename IN VARCHAR2,
                       Open_mode  IN VARCHAR2,
                       Max_linesize  IN BINARY_INTEGER
                      )
    RETURN  FILE_TYPE;这里的max_linesize 表示文件的最大行数。可以在1-32767范围内,缺省为1024。3.关闭文件(FCLOSE)当文件被打开后,就需要在用完后进行关闭,用下面函数实现对文件的关闭:PROCEDURE FCLOSE(file_handle  IN  OUT FILE_TYPE ) ;这里file_handle是文件句柄。4.判断文件的打开(IS_OPEN)文件是否被打开,可以用IS_OPEN函数来实现。如果文件已经打开,则返回TRUE;否则返回FALSE。FUNCTION IS_OPEN(file_name IN FILE_TYPE);
    RETURN BOOLEAN;5.使用FCLOSE_ALL关闭所有文件对于那些想省事的编程人员,可以用FCLOSE_ALL来在程序的后部一次就关闭掉所有被打开的文件。它的语法很简单:PROCEDURE FCLOSE_ALL;
    §21.2.3文件输出Oracle PL/SQL包提供5个过程来实现将数据输出到文件中。它们是PUT、PUT_LINE、NEW_LINE、PUTE及FFLUSH。下面分别给出说明。1.PUT过程PROCEDURE PUT(file_handle  IN FILE_TYPE,
                      buffer  IN  VARCHAR2);通过PUT过程可以将字符追加到文件中,如果需要的话,可以使用PUT_LINE或NEW_LINE在行中加入行结束符。这里的file_handle 是文件的句柄(标识);buffer 是等待写入文件的字符串。如果文件打开没有使用“w”或“a”,则引发错误。
    2.NEW_LINE过程PROCEDURE NEW_LINE( file_handle  IN FILE_TYPE,
                            Lines  IN  NATURAL:=1);表示行结束符,它与操作系统有关。这里的lines 是输出的行结束符的个数。缺省为1。即输出一个新行。如果文件打开没有使用“w”或“a”,则引发错误。3.PUT_LINE过程PROCEDURE  PUT_LINE( file_handle  IN FILE_TYPE,
                      buffer  IN  VARCHAR2);通过PUT_LINE过程等价于PUT与NEW_LINE一起的功能。这里的file_handle 是文件的句柄(标识);buffer 是等待写入文件的字符串。如果文件打开没有使用“w”或“a”,则引发错误。4.PUTF过程PROCEDURE  PUTF( file_handle  IN FILE_TYPE,
                       Format  IN  VARCHAR2,
                       Arg1  IN VARCHAR2  DEFAULT NULL,
                       Arg2  IN VARCHAR2  DEFAULT NULL,
                       Arg3  IN VARCHAR2  DEFAULT NULL,
                       Arg4  IN VARCHAR2  DEFAULT NULL,
                       Arg5  IN VARCHAR2  DEFAULT NULL
                       );这里的file_handle 是文件的句柄(标识);arg1至arg5是可省的变量。Format是带有字符和带有特殊符号“%s”和“\n”的格式说明。
    5.FFLUSH过程前面介绍的PUT、PUT_LINE、NEW_LINE、PUTE输出的数据首先是放在缓冲区里。当缓冲区填满后,缓冲区的内容自动被写入到文件。但我们可以不需要等待缓冲区填满就立即强行写入指定的文件。FFLUSH就是完成这样的过程:PROCEDURE  FFLUSH( file_handle  IN FILE_TYPE )
      

  8.   

    文件输入文件输入使用的过程只有一个。即GET_LINE过程。此过程可以完成每次从指定的文件中读入一行文本并将文本送到缓冲区。新行的字符不包括在返回字符串中。PROCEDURE  FFLUSH ( file_handle  IN FILE_TYPE ,
                           Buffer  OUT  VARCHAR2 );这里的file_handle 是文件的句柄(标识);
    buffer 将写入的缓冲区,如果文件没有以读(“r”)的方式打开,则引发UTL_FILE.INVALID_OPERATION异常。当从文件中读入最后一行时,异常NO_DATA_FOUND就会发生。如果读入空行就会返回空字符NULL。
    文件操作例子下面例子选自原版资料 :
    例子.
    下面例子写一行文本字符:
    Hello, world!
    I come from Zork with greetings for all earthlings.my_world varchar2(4) := ’Zork’;
    ...
    PUTF(my_handle, ’Hello, world!\nI come from %s with %s.\n’,
    my_world,
    ’greetings for all earthlings’);
      

  9.   

    可以用oci函数读到clob字段的内容?