oracle存储文本
1. 怎样oracle将查询到的数据存成文本文件用数据库语言。。。
sqlplus下
sql>spoolc: 01.txt
sql>select*from表名;--这句就是你查询的语句,你自己写吧
sql>spooloff
然后你去你C盘下找到001.txt文件就好了
输出格式上有问题的话,就网络一下sqlplus的参数
2. oracle数据库超长文本用哪种类型储存比较好
clob类型,但对于这个类型处理起来还是比较麻烦的,varchar2长度为4000bytes,如果varchar2能满足楼主的需求,建议使用varchar2,下面提供了在java 中读取clob类型的方式,我主要讲的是JDBC的操作,Hibernate目前不讲,操作这个Clob列主要分为插入和获取俩个操作:
1、Java程序插入Clob值到Oracle数据库表中:
String clob= "这里主要是要插入到表中的值";//前面具体数据库连接代码这里省略,直接进正题String sql = "insert into clob_test(id,str) values (1,?)";PreparedStatement stmt = conn.prepareStatement(sql);// 将clob转成流形式
Reader clobReader = new StringReader(clob);stmt.setCharacterStream(1,clobReader,clob.length());// 替换sql语句中的?
stmt.executeUpdate();
2、读取Clob列的值
String sql = "select str from clob_test where id=1";PreparedStatement stmt = conn.prepareStatement(sql);ResultSet rs = stmt.executeQuery();
//最后获得的结果
String resultClob;
if(rs.next()){
//导入oracle.sql.CLOB包,或者直接引用这个包oracle.sql.CLOB clob = rs.getClob("str");Reader rd= clob.getCharacterStream();// 得到流BufferedReader br = new BufferedReader(rd);String s = br.readLine();
StringBuffer sb= new StringBuffer();
while (s != null) {
// 循环赋值
sb.append(s);
s = br.readLine();
}
clobResult = sb.toString();
}
3. oracle数据库怎么存储长文本的字段
BLOB :大数据类型,最大存储65K,不可以被导出,只能在oracle数据库中进行查看。 扩展: BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。
4. oracle 中存储大量文字信息用什么字段,java后台怎么实现,请举例。谢谢。
在oracle中存储大量的文字应该是用CLOB字段来存储。这种类型在用java将数据存进数据库中时比较简单,直接将String类型的文本写入就可以了。但是在从数据库中读取CLOB类型的数据到java中时比较麻烦,因为你是拿不到数据的,只能拿到这个字段的一个隐式指针,然后还要通过输入流来拿到。
5. 在oracle中存储多文本,字段应该定为什么类型,还有就是使用java插进去的数据用string类型可以吗
varchar2 4000个字节,你看下够用不。
blob存二进制数据,4个G的。
clob保存单字节字符数据,4个G的。
java用String没有问题的。
6. 在oracle中怎么讲select出来的内容按行存放到文本文件中
可用spool的方式将查询内容放入文本。
方法如下:
1、在windows下如c盘data目录下创建脚本,名字为:exec.sql,内容为:
settrimspoolon
setlinesize120
setpagesize2000
setnewpage1
setheadingoff
settermoff
spool路径+文件名
selectcol1||','||col2||','||col3||','||col4||'..'fromtablename;
spooloff
2、命令提示符下先进到c盘data目录下,然后执行如下语句:
sqlplus用户名/密码@数据库实例名
@exec.sql
7. oracle怎样存储文件,能存储哪些文件
默认情况下
数据文件 *.dbf
控制文件 *.ctl
日志文件 *.log
参数文件 *.ora
跟踪文件 *.trc
警告文件 *.log
exp文件 *.dmp
8. 在Oracle要保存WORD文档、图片,用什么类型
可以用blob或bfile类型来存储该类二进制数据。具体说明如下:
★ blob:用来存储可变长度的二进制数据,blob数据在数据库之间或在客户机与服务器进程之间传递时不经历字符集的转换。
★ bfile:在数据库外面存储可变长二进制数据,Bfile数据类型最多存储4GB的数据,在某些操作系统中甚至更少。
9. 如何把oracle 存储过程 输出到文本
分几个步骤
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_OUTPUT
is
file_handleutl_file.file_type;
Write_contentVARCHAR2(1024);
Write_file_nameVARCHAR2(50);
v_idint;
v_formvarchar2(10);
cursorcur_sp_out
is
selectid,formfroma;
begin
opencur_sp_out;
loop
fetchcur_sp_outintov_id,v_form;
exitwhencur_sp_out%notfound;
write_file_name:=to_char(SYSDATE,'MMDD')||'.txt'
file_handle:=utl_file.fopen('TMP',write_file_name,'a');
write_content:=v_id||''||v_form;
--writefile
IFutl_file.is_open(file_handle)THEN
utl_file.put_line(file_handle,write_content);
ENDIF;
--closefile
utl_file.fclose(file_handle);
endloop;
closecur_sp_out;
end;
我建立了一个跟你一样的测试表,数据如下
createtablea(idint,
formvarchar2(10));
insertintoavalues(1,'你好');
insertintoavalues(2,'你很好');
然后执行存储过程
begin
SP_OUTPUT;
end;
执行完毕后,你在c盘test路径下会发现已经有新文件生成
文件内容
存储过程的话,如果表名和字段名跟你一致的话,你无须修改
10. 在oracle里存大量文本信息,应该用什么类型
大量文本用clob类型。
SQL CLOB 是内置类型,它将字符大对象 (Character Large Object) 存储为数据库表某一行中的一个列值。默认情况下,驱动程序使用 SQL locator(CLOB) 实现 Clob 对象,这意味着 CLOB 对象包含一个指向 SQL CLOB 数据的逻辑指针而不是数据本身。Clob 对象在它被创建的事务处理期间有效。