① 怎么将txt的数据导入oracle数据库
将文本文件导入Oracle中需要用sqlloader的方式。1、在数据库中创建相应的表。如,文本文件内容为:1234create table test(id int,name varchar2(10),sex varchar2(10));2、在电脑中某路径下编写ctrl文件,以c盘data目录为例,添加如下文本。如,被导入的文件名为load.txt123456load data infile 'load.txt' –被导入文件名replace into table test (id char terminated by ',', name char terminated by ',', sex char terminated by whitespace)编写后,将文件保存成load.ctrl3、然后打开命令提示符,并进入到文本文件和ctrl文件所在目录。4、输入以下语句,并执行。1sqlldr userid=用户名/密码@数据库实例名 control=load.ctl log=load.log5、导入后,test表中数据如下:
② 怎样将oracle数据库的数据写入txt文件中
写java,C程序;还有一种常用的小数据量使用spool
③ 如何将文本文件导入到Oracle数据库中
将文本文件导入Oracle中需要用sqlloader的方式。
1、在数据库中创建相应的表。
如,文本文件内容为:
④ 我有一个需求:有四个txt文件,每天都会更新这四个文件,现在要将这四个txt文件写入oracle数据库,怎么写
你是程序里面要实现么? 直接 ORACLE 建立一个JOB,然后每天自动调用一个存储过程,存储过程里面直接通过你现有的程序重新更新这4个文本吧。
⑤ 求大神指教: oracle存储过程执行结果信息如何存入txt文件中
通过sqlplus登录,把你要执行的语句放到一个.sql后缀的文件中然后spool /tmp/result.txt@ /tmp/run.sqlspool off
⑥ oracle将表A里的数据导出为txt文件,用存储过程怎么写
分几个步骤
1,创建输出路径,比如你要在c盘test目录下输出,你就先要建立好这个test路径
2,sqlplus下以sysdba登录,执行以下语句
3,create or replace directory TMP as 'c:est';
4,grant read,write on directory TMP to 你要生成文件的用户;
5,alter system set utl_file_dir='c:est' scope=spfile;
以上步骤执行完,需要重启数据库
6,最重要的一步开始了,创建存储过程
createorreplacePROCEDURESP_OUTPUTisfile_handleutl_file.file_type;Write_contentVARCHAR2(1024);Write_file_nameVARCHAR2(50);v_idint;v_formvarchar2(10);cursorcur_sp_outisselectid,formfroma;beginopencur_sp_out;loopfetchcur_sp_outintov_id,v_form;exitwhencur_sp_out%notfound;write_file_name:=to_char(SYSDATE,'YYYYMMDD')||'.txt';file_handle:=utl_file.fopen('TMP',write_file_name,'a');write_content:=v_id||''||v_form;–writefileIFutl_file.is_open(file_handle)THENutl_file.put_line(file_handle,write_content);ENDIF;–closefileutl_file.fclose(file_handle);endloop;closecur_sp_out;end;
我建立了一个跟你一样的测试表,数据如下
createtablea(idint,formvarchar2(10));insertintoavalues(1,'你好');insertintoavalues(2,'你很好');
然后执行存储过程
beginSP_OUTPUT;end;
执行完毕后,你在c盘test路径下会发现已经有新文件生成
存储过程的话,如果表名和字段名跟你一致的话,你无须修改
⑦ 求一个ORACLE将表数据导出为TXT的存储过程
#首先声明存储生成txt文件的目录,注意oracle要有写权限,其权限不能由自己赋给自己,必须由sysdba赋给create directory DIR_DUMP as '/home/oracle/';conn / as sysdbagrant read,write on directory dir_mp to psbc; (或者是public;)#创建存储过程CREATE OR REPLACE PROCEDURE tabtotxt IStestjiao_handle UTL_FILE.file_type;BEGIN testjiao_handle := UTL_FILE.FOPEN('DIR_DUMP','testjiao.txt','w'); FOR x IN (SELECT * FROM tab) LOOP UTL_FILE.PUT_LINE(testjiao_handle,x.工序 || ',' || x.计划数 ||','|| x.完成数 ||','|| x.人员 ||','|| x.设备 ||','); END LOOP; UTL_FILE.FCLOSE(testjiao_handle);EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SUBSTR(SQLERRM,1,2000));END;#执行存储过程exec tabtotxt
⑧ 关于txt里的大量数据保存到oracle数据库的问题!
BCP命令。具体资料自己网络就可以了。
⑨ 求一个oracle读文本文件的存储过程
1:先创建SQL 文件spool.sql内容:set head off spool c:\select.txt select * from tbl; spool off2:然后创建一test.bat文件文件内容:cd c:\sqlplus "test/test" @c:\spool.sql这时候直接运行test.bat会再c:\盘下生成select.txt文件,3:在windowsstart->programs->Accessories->System Tools->Scheled Tasks里面定义每天运行一次