`

字符转换CLOB插入数据库

 
阅读更多
public static CLOB oracleStr2Clob(String str, CLOB lob) throws Exception { 
        Method methodToInvoke = lob.getClass().getMethod("getCharacterOutputStream", (Class[]) null); 
        Writer writer = (Writer) methodToInvoke.invoke(lob, (Object[]) null); 
        writer.write(str); 
        writer.close(); 
        return lob; 
    } 	

public static Object createOracleLob(Connection conn, String lobClassName) 
    throws Exception { 
		Class lobClass = conn.getClass().getClassLoader().loadClass( 
		        lobClassName); 
		final Integer DURATION_SESSION = new Integer(lobClass.getField("DURATION_SESSION").getInt(null)); 
		final Integer MODE_READWRITE = new Integer(lobClass.getField("MODE_READWRITE").getInt(null)); 
		Method createTemporary = lobClass.getMethod("createTemporary",new Class[] { Connection.class, boolean.class, int.class }); 
		Object lob = createTemporary.invoke(null, new Object[] { conn, false,DURATION_SESSION }); 
		Method open = lobClass.getMethod("open", new Class[] { int.class }); 
		open.invoke(lob, new Object[] { MODE_READWRITE }); 
		return lob; 
	}
 

 

分享到:
评论

相关推荐

    将长于4000字符的字符串转化为CLOB类型存入数据库

    下面是一个具体的例子,展示如何将字符串转化为CLOB类型,并插入到Oracle数据库中: ```csharp using System.Data; using Oracle.ManagedDataAccess.Client; public bool InsertTsbhInfo(string strTB, string ...

    向Oracle数据库插入Clob大段文本解决方法

    在处理Oracle数据库中的大文本数据时,CLOB(Character Large Object)类型被广泛应用于存储大量字符数据,如文章、报告或任何大型文本信息。本文将详细介绍如何有效地向Oracle数据库插入Clob大段文本,以及在操作...

    mybatis 对clob类型转换

    在使用MyBatis框架进行数据操作时,我们可能会遇到CLOB类型数据的读写问题,尤其是在转换和插入数据库时。本篇将详细探讨MyBatis中处理CLOB类型数据的转换以及解决可能出现的异常情况。 首先,MyBatis是Java中的一...

    ActiveXObject和Clob字段的插入更新

    在数据库操作中,对Clob字段的插入和更新通常涉及以下几个步骤: 1. 准备SQL语句,声明Clob类型的变量或参数。 2. 将大文本数据转换为适合数据库处理的格式。 3. 执行INSERT或UPDATE语句,将数据存入或更新到Clob...

    向Oracle数据库的CLOB属性插入数据报字符串过长错误

    今天在项目中向数据库的CLOB属性插入一段篇文章(1000~2000)字就会报一个字符串过长的错误。 网上说用流来处理,没有这么做。这像是一个Bug,只要把插入的数据,默认扩充到2000以上就ok了。 下面是这段代码: if(...

    clob 的读存问题

    CLOB主要用于存储大量字符数据,它支持Unicode编码,能够存储最大达4GB的数据量。在Oracle数据库中,CLOB类型的字段可以被看作是一个指向实际存储位置的指针,而数据本身可能存储在数据库的不同物理位置。因此,在...

    java将图片写入数据库,并读出来(blob clob)

    Blob用于存储二进制数据,如图片、音频或视频文件,而Clob则用于存储字符数据,比如长文本。以下是如何使用Java处理Blob类型的图像数据的详细步骤: 1. **连接数据库** 使用JDBC(Java Database Connectivity)API...

    图片存入Oracle中,用clob和blob两种方式

    - **图片转二进制/字符串**:对图片进行读取,如果是使用`CLOB`,需要将图片转换为Base64字符串;如果是`BLOB`,则直接读取二进制流。 - **插入数据**:通过SQL插入语句,将转换后的图片数据插入到相应的字段中。 ...

    java存储oracle中的clob类型

    在向Oracle数据库插入中文数据之前,需要将其转换为Oracle能够识别的编码格式。通常情况下,Oracle使用ISO-8859-1编码。 **示例代码:** ```java String chinese = "你好"; String encoded = ECov.gb2asc(chinese);...

    clob的保存和修改

    例如,在Oracle中,你可以创建一个包含CLOB列的表,然后使用`TO_CLOB`函数将字符串转换为CLOB类型进行插入。 ```sql CREATE TABLE my_table (id NUMBER, content CLOB); INSERT INTO my_table (id, content) ...

    JDBC中操作Blob、Clob等对象

    - 使用`File`和`FileInputStream`读取本地文件,并将其转换为适合插入数据库的流对象。 - 创建`PreparedStatement`对象,并使用`setBlob`和`setClob`方法将流对象插入到对应的字段中。 ```java // 示例:插入...

    达梦sql语言使用手册

    - `CLOB`(Character Large Object) ##### 1.5 DM_SQL语言支持的表达式 - **数值表达式**:涉及数值计算的操作。 - **字符串表达式**:用于字符串操作。 - **时间值表达式**:涉及日期和时间的计算。 - **时间...

    JDBC中操作Blob、Clob等对象 实例详细 非常详细

    对于Clob字段,我们通过`setCharacterStream`方法将文件转换成字符流并插入;而对于Blob字段,则通过`setBinaryStream`方法将文件转换成二进制流并插入。 #### 六、从表中读取Blob和Clob数据 最后一步是从表中读取...

    java读写oracle clob字段

    - 当需要将字符串数据插入CLOB字段时,可以将字符串转换为`Reader`对象。这里使用`StringReader`: ```java Reader clobReader = new StringReader(text); ``` 4. **设置参数**: - `PreparedStatement`支持...

    Oracle中CLOB类型文字处理代码

    - 直接插入字符串,但需要注意长度不能超过4000字符,否则需使用`TO_CLOB()`函数转换为CLOB类型。 ```sql INSERT INTO my_table (id, clob_data) VALUES (1, TO_CLOB('大量文本数据')); ``` 4. 查询CLOB数据: ...

    java操作clob

    在实际开发中,需要注意的是,由于通过 JNDI 获得的数据库连接所提供的 `Blob` 和 `Clob` 实现可能与 JDBC 直接获取的不同,因此在入库时需要进行类型转换。而出库操作则无需特殊处理,因为它们都返回标准的 `java....

    iBATIS操作Oracle CLOB数据

    2. **插入操作**:当向包含CLOB字段的表插入数据时,可以使用`<sql>`和`<insert>`标签,通过`<bind>`或`<param>`来传递CLOB值。例如: ```xml INSERT INTO your_table (id, large_text) VALUES (#{id}, empty_...

    CLOB字段处理

    在读取 CLOB 字段时,需要使用 ResultSet 对象,并将 CLOB 对象转换为字符串。例如: ```java String sql = "select * from clob_test where id=1"; PreparedStatement stmt = conn.prepareStatement(sql); ...

    java 多线程操作数据库

    示例中,`ThreadUseExtends`类的构造函数接收BLOB和CLOB文件名作为参数,并在运行时读取这些文件的内容,将其转换为字节数组或字符串,然后插入到数据库相应的字段中。 5. **并发控制与事务管理**:在多线程环境下...

    Oracle 数据库多语言入库问题的解决方案

    默认字符集用于CHAR、VARCHAR、VARCHAR2、CLOB等类型的数据,而国家字符集服务于NCHAR、NVARCHAR、NVARCHAR2、NCLOB等类型,以处理多语言需求。例如,当数据库的默认字符集为ZHS16GBK,国家字符集为AL16UTF16时,...

Global site tag (gtag.js) - Google Analytics