oracle 对于大文本数据用啥类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 对于大文本数据用啥类型相关的知识,希望对你有一定的参考价值。

oracle对于大文本数据用clob类型。但对于这个类型处理起来还是比较麻烦的,varchar2长度为4000bytes,如果varchar2能满足您的需求,建议使用varchar2。

【问题拓展展】

CHAR类型 CHAR(size [BYTE | CHAR])

CHAR类型,定长字符串,会用空格填充来达到其最大长度。非NULL的CHAR(12)总是包含12字节信息。CHAR字段最多可以存储2,000字节的信息。如果创建表时,不指定CHAR长度,则默认为1。另外你可以指定它存储字节或字符,例如 CHAR(12 BYTYE) CHAR(12 CHAR).一般来说默认是存储字节,你可以查看数据库参数

NLS_LENGTH_SEMANTICS的值。

参考技术A 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();

希望楼主采纳本回答被提问者和网友采纳
参考技术B clob使用流读取,如用java项目的话还可使用spring配置读取 参考技术C clob类型

oracle 导入数据文件用啥工具

一. 导出工具 exp
1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin
   exp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS间迁移
   它有三种模式:
       a.  用户模式: 导出用户所有对象以及对象中的数据;
       b.  表模式: 导出用户所有表或者指定的表;
       c.  整个数据库: 导出数据库中所有对象。


二.导入工具 imp

1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin

imp导入工具将EXP形成的二进制系统文件导入到数据库中.

   它有三种模式:
       a.  用户模式: 导出用户所有对象以及对象中的数据;
       b.  表模式: 导出用户所有表或者指定的表;
       c.  整个数据库: 导出数据库中所有对象。
       
只有拥有IMP_FULL_DATABASE和DBA权限的用户才能做整个数据库导入

参考技术A   一般导入方法是把备份的dmp文件通过plsql导入到数据库中。方法如下:
  1、登录要导入的用户到plsql(一般为新用户,且有dba等权限),如果没有权限,在system用户下执行下边语句:
  grant connect,resource,dba to 用户名;
  2、登陆后,依次点击“工具”-“导入表”
  3、上方选择“oracle导入”,下方根据自己条件勾选必要的选项,然后点击文件夹样式的图标,选择自己的dmp文件,选择好文件以后,点击“导入”按钮,等待执行完毕即可。
参考技术B 可以用 pl/sql developer。
PL/SQL Developer是由Allround Automations公司开发,专门面向Oracle数据库存储的程序单元的图形化操作工具

以上是关于oracle 对于大文本数据用啥类型的主要内容,如果未能解决你的问题,请参考以下文章

oracle中,用啥数据类型表示货币的数据类型

sqlserver的bit类型在oracle中可以用啥类型表示

JAVA 用dbutils这个第三方jar 向oracle数据库插入date 类型数据的时候,要用啥类型替换掉占位符

Oracle中储存很大很长的字符串用啥类型

数据库出生日期用啥类型比较好?datetime 或 varchar

Oracle数据库存储过程中输出参数为自定义游标类型时,使用call或者exec调用时,用啥来给游标赋值