【Oracle如何通过dataLink复制远程数据库的CLOBBLOB字段数据到本地数据库】教程文章相关的互联网学习教程文章

oracle 下操作blob字段是否会产生大量redo

操作blob字段是否会产生大量redo,答案是不会,下面来做一个实验,测试数据库版本是11.2.0.1.0:--创建一张表做测试之用create table test_blob ( id number, tupian blob );import java.io.FileInputStream; import java.io.OutputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;import oracle.sql.BLOB;public clas...

weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB cannot be cast to oracle.sql.BLOB 解决方法

源程序:SerializableBlob sb = (SerializableBlob)s.getStampimage();Blob wrapblob = sb.getWrappedBlob();oracle.sql.BLOB blob = (oracle.sql.BLOB)wrapblob;OutputStream out = blob.getBinaryOutputStream();out.write(s.getStampimagebyte());out.close(); 异常情况:java.lang.ClassCastException: weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB cannot be cast to oracle.sql.BLOB at com.tchzt.cdbank.base.stamp....

JdbcTemplate 操作Oracle Blob【代码】

1:增加操作publicint addTest(TestVo tv) {byte bz[] = tv.getBz().getBytes();LobHandler lobHandler = new DefaultLobHandler();String sql = "insert into test(name,age,bz) values(?,?,?)";return jdbcTpl.execute(sql,new AbstractLobCreatingPreparedStatementCallback(lobHandler){@Overrideprotectedvoid setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException, DataAccessException {ps.setStrin...

oracle将blob转为varchar2【代码】【图】

因为varchar2最大长度为4000,所以不能直接将blob转为varchar2,这里通过函数将blob返回为table格式来实现:1、创建两个新的type,用于函数返回create or replace type obj_table as object (name varchar2(2000) );create or replace type t_table is table of obj_table 2、创建blob转varchar2的函数CREATE OR REPLACE Function Blob_To_Varchar (id In VARCHAR2) Return t_table asrs t_table:= t_table();-- 定义上面创建的类型...

oracle blob mybatis xml读写【代码】

最近项目用到了对oracle大字段的读写,小白在这里记录下,方便自己以后用到,也希望对其他朋友有一点帮助。由于项目的原因,这里的blob只是对xml报文的读写,并没有涉及到保存图片等,因此下面涉及的方法可能不全面,如有需要请自行查看其它大神博客。一、读blob这里对blob的读是直接在数据库建了一个函数Blob_To_Varchar ,这样方便项目里面其它地方用到查询blob:CREATEORREPLACEFunction Blob_To_Varchar (Blob_In In Blob) Ret...

Oracle如何通过dataLink复制远程数据库的CLOB\BLOB字段数据到本地数据库

Oracle不支持直接通过Database Link复制远程数据库表的CLOB/BLOB字段数据到本地数据库。 像如下的SQL是不能执行的。(ipop_topic表有一个CLOB的字段) insert into ipop_topicselect * from ipop_topic@prod.us.oracle.com where application_id=1000 但是,我们可以借助全局临时表,先把数据复制到临时表,再从临时表转移到你的目的表。 create global temporary table ipop_topic_tempas select * from ipop_topic@prod.us.oracl...

Oracle blob字段的插入和更新

blob字段,其实是用来存储二进制类型的数据的,比如:大文本、文件、图片等信息直接存放到数据库中的一种解决方案 所以,如果对于新插入的记录,存在blob类型的字段,需要在blob字段中先使用EMPTY_BLOB(),让该条记录先保存到数据库中; 然后,使用更新语句的方式,更新blob字段的值,代码如下: //构造更新语句:string strSQL="update tablename set Rangecoords=:coords where 查询条件"; //创建oracle参数 byte[] bigTextB...

oracle导出blob,clob出错的问题

2.3 如何解决导出clob和blob类型数据报错的问题 当表字段中含有clob和blob类型数据时,使用PL/SQL Developer导出会报stream read error的错误,导出操作终止,说明PL/SQL Developer方式导出不支持这种类型,oracle export方式可以支持这种类型。 由于需要导出的表很多,PL/SQL在导出前都要对需要导出的表进行分析,通常都会花费十几分钟的时间,然而由于某张表存在clob和blob类型数据时就会异常终止,那之前的操作时间就会浪费,为...

JDBC ORACLE BLOB处理【代码】

也可以像处理普通数据一样对其进行备份和恢复操作。Oracle支持三种类型的内部LOB: BLOB(二进制数据) CLOB(单字节字符数据) NCLOB(多字节字符数据)。 CLOB和NCLOB类型适用于存储超长的文本数据,BLOB字段适用于存储大量的二进制数据,如图像、视频、音频,文件等。目前只支持一种外部LOB类型,即BFILE类型。在数据库内,该类型仅存储数据在操作系统中的位置信息, 而数据的实体以外部文件的形式存在于操作系统的文件系统中...

Oracle 中LONG RAW BLOB CLOB类型介绍【代码】

));SCOTT@orcl> insert into test_raw values(‘<xml><name>Dylan</name><score>100</score></xml>‘); insert into test_raw values(‘<xml><name>Dylan</name><score>100</score></xml>‘)* 第 1 行出现错误: ORA-01465: 无效的十六进制数字--这个地方注意是十六进制 SCOTT@orcl> insert into test_raw values(utl_raw.cast_to_raw(‘<xml><name>Dylan</name><score>100</score></xml>‘));已创建 1 行。SCOTT@orcl> commit;--查...

JDBC 操作插入表出现javax.sql.rowset.serial.SerialBlob cannot be cast to oracle.sql.BLOB

* 接口方法*/public void excuteInputDB(SynchServiceConfig synchServiceConfig)throws Exception {try { // if(!"".equals(queryQdParaWayinfo())) // { // CLOB clob = oracle.sql.CLOB.createTemporary(oraConn, false, oracle.sql.CLOB.DURATION_SESSION); // clob.putString(1, queryQdParaWayinfo()); // // insertMyAnnouncement(VALID_WAYINFO_SE...

java操作oracle的blob,clob数据【代码】

获得数据库连接 Connection con = ConnectionFactory.getConnection(); con.setAutoCommit(false); Statement st = con.createStatement(); //不需要“for update” ResultSet rs = st.executeQuery("select BLOBATTR from TESTBLOB where ID=1"); if (rs.next()) { java.sql.Blob blob = rs.getBlob("BLOBATTR"); InputStream inStream = blob.getBinaryStream(); //data是读出并需要返回的数据,类型是byte[...

oracle中一些关于blob字段的操作

---恢复内容开始--- 1.在IDE中查看blob字段的内容可以采用: UTL_RAW.CAST_TO_VARCHAR2(blob)的方法,其中blob为表中blob字段的列名。这个方法限定结果不可超过2000字节。 2. 更新blob时,碰到德文乱码问题,最后采用的是在转换为byte[]后,再次转换为new String(ISO-8839-1)就可以oracle中一些关于blob字段的操作标签:本文系统来源:http://www.cnblogs.com/garygeng/p/5256425.html

oracle blob mybatis xml读写【代码】

这里对blob的读是直接在数据库建了一个函数Blob_To_Varchar ,这样方便项目里面其它地方用到查询blob:CREATE OR REPLACE Function Blob_To_Varchar (Blob_In In Blob) Return Varchar2 IsV_Varchar Varchar2(4000);V_Start Pls_Integer := 1;V_Buffer Pls_Integer := 4000; BeginIf Dbms_Lob.Getlength(Blob_In) Is Null ThenReturn ‘‘;End If;For I In 1..Ceil(Dbms_Lob.Getlength(Blob_In) / V_Buffer) Loop--当转换出来的字符...

Oracle Blob数据保存为文件【代码】

UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(xxx,2000,1)) from xxx where xxx = 9667796; 这种sql去转为字符串查看,但是不方便,一次最多转出2000个字节。需要通过index拼成完整的文本。 另外一种情况下,如果存储的是图片、word或其它非文本格式的二进制文档时,就没办法通过上面的方法进行查看了。我这里介绍一种方式可以把Blob保存到数据库服务器所在机器的本地磁盘中去。 存储过程: 1 CREATE OR REPLACE 2 P...