今天写了一个通过weblogic数据源访问数据库应用,发现读取CLOB字段无法读取,查询网上资料,发现一遍文章。把代码复制一遍发现还是无法使用,稍微修改一下就通过了,附上代码
//转换CLOB为普通CLOB类型进行读取
public String clobToString2(Object clob2)throws SQLException, IOException{
log.info("classname:"+clob2.getClass().getName());
try{
//判断CLOB类型
if ("oracle.sql.CLOB".equals(clob2.getClass().getName())){
String rtn = "";
oracle.sql.CLOB clob = (oracle.sql.CLOB)clob2;
InputStream input = clob.getAsciiStream();
int len = (int)clob.length();
byte[] by = new byte[len];
int i ;
while(-1 != (i = input.read(by, 0, by.length))) {
input.read(by, 0, i);
}
rtn = new String(by);
rtn=clob.getSubString((long)1,(int)clob.length());
return rtn;
}else if ("weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB".equals(clob2.getClass().getName())){
//通过weblogic数据源访问时,需要把weblogic的CLOB转换为java.sql.Clob类型
String rtn = "";
Method method = clob2.getClass().getMethod("getVendorObj",new Class[]{});
// log.info("11111111111111111111111");
java.sql.Clob clob = (Clob) method.invoke(clob2); //修改后代码
oracle.sql.CLOB clob = (oracle.sql.CLOB)method.invoke(in); 修改前代码
// log.info("222222222222222222222222");
InputStream input = clob.getAsciiStream();
int len = (int)clob.length();
byte[] by = new byte[len];
int i ;
while(-1 != (i = input.read(by, 0, by.length))) {
input.read(by, 0, i);
}
rtn = new String(by);
rtn=clob.getSubString((long)1,(int)clob.length());
return rtn;
}else{
return null;
}
}catch(Exception e){
log.info("convert to clob error:"+e.getLocalizedMessage());
return null;
}
}
相关推荐
在使用 WebLogic 服务器进行应用程序开发时,尤其是在处理 Oracle 数据库中的 CLOB 类型数据时,开发者可能会遇到类型转换的问题。本文将详细介绍如何通过反射机制来解决 WebLogic 环境下 Oracle CLOB 类型转换成 `...
### WebLogic 数据源配置详解 #### 一、新建数据源 **步骤1:登录WebLogic控制台** 在开始配置之前,首先需要登录到WebLogic Server的管理控制台。...通过遵循上述步骤,你可以顺利地完成WebLogic数据源的配置任务。
### Spring 获取 WebLogic JNDI 数据源的两种方式 在Spring框架中,通过JNDI(Java Naming and Directory Interface)可以方便地访问WebLogic服务器中的数据源。这为应用程序提供了高度解耦的数据访问机制,使得...
1. **数据源配置**:检查数据源配置,确保使用的JDBC驱动与数据库版本兼容,并且支持CLOB类型的操作。不正确的驱动配置可能导致无法正确处理CLOB对象。 2. **代码实现**:在将数据写入CLOB字段时,可能直接使用了...
Weblogic JDBC 数据源配置和详细参数说明 一、JDBC 概述 JDBC(Java Database Connectivity)是 Java 语言中的一种标准数据库连接技术,几乎所有需要访问数据库的 J2EE 应用程序都直接或间接地使用了它。JDBC 提供...
Weblogic数据源配置虽看似简单,实则需要细致入微的处理,尤其是与不同数据库的兼容性和性能优化方面。通过以上步骤,你可以成功在Weblogic 9.0环境中配置MySQL 5.1数据源,为构建稳定高效的应用奠定基础。记住,...
WebLogic数据源调用是Java应用在WebLogic服务器上与Oracle数据库交互的关键步骤。WebLogic Server作为一款流行的Java EE应用服务器,提供了强大的数据源管理功能,使得应用程序能够以透明、高效且可管理的方式连接到...
配置WebLogic数据源的步骤通常包括以下几个关键环节: 1. 登录WebLogic管理控制台:访问`http://hostname:port/console`,其中`hostname`是WebLogic服务器的IP地址,`port`是管理服务器的端口号,通常默认为7001。 ...
出库操作可以使用ResultSet.getBlob()或ResultSet.getClob()方法获取BLOB或CLOB对象,然后使用InputStream或Reader对象将数据读取出来。 JAVA对Oracle中BLOB、CLOB类型字段的操作需要根据不同的环境和需求选择合适...
总结起来,WebLogic数据源连接池是实现高效、稳定数据库连接的关键,通过合理的配置和管理,可以极大地提高系统的响应速度和资源利用率,同时降低数据库的压力。在实际操作中,根据应用的需求和环境,不断调整和优化...
配置WebLogic数据源的步骤如下: 1. **启动WebLogic Server**: 首先,你需要通过访问`http://localhost:7001/console`来启动WebLogic Server控制台。这里的`localhost`代表本地主机,`7001`是默认的管理服务器端口...
这个是weblogic9.0+mysql5.1的环境下配置数据源详细步骤。 其实在tomcat,jboss,WebSphere等服务期中都提供了配置数据源的功能,大概的配置都很类似。
5. 部署应用:在应用部署中,关联已创建的数据源,以便应用在运行时能使用该数据源进行数据库操作。 **四、高级配置** 1. 安全性:配置WebLogic的安全性,包括用户、角色、权限、SSL加密等,以保护服务器和应用...
2. **创建数据源**:在WebLogic管理控制台中,选择“配置”->“数据源”,然后创建一个新的数据源。选择JDBC驱动类型,如"Oracle Thin",并填写相应的JNDI名称、URL、用户名和密码。 - URL格式通常是:`jdbc:...
本文旨在通过对一个具体的案例——解决WebLogic数据源一段时间后不可用的问题——来进行深入的分析和优化策略的探讨。 #### 二、连接池属性配置详解 在开始具体分析之前,先简要介绍WebLogic数据源连接池的一些...
Weblogic 多数据源创建详解 在 Weblogic 中,创建多数据源可以实现负载均衡和故障转移,提高系统的可用性和性能。本文将详细介绍 Weblogic 多数据源的创建过程,并对每个步骤进行详细的解释。 创建单数据源 创建...
在WebLogic Server 9.1版本中,部署Web应用程序和配置数据源是两个关键操作,对于构建和管理基于Java EE的分布式应用系统至关重要。本文将深入探讨这两个主题,旨在提供全面的理解和实践指导。 首先,让我们关注Web...
WebLogic Server 是一款广泛应用的企业级应用服务器,它支持多种服务,包括配置和管理JDBC(Java Database Connectivity)数据源。JDBC数据源是WebLogic Server中用于管理数据库连接的重要组件,它提供了对数据库的...
### WebLogic 配置数据源知识点...通过以上详细步骤和示例,可以了解到在 WebLogic 服务器中配置数据源的方法及其在 Java Web 应用程序中的具体使用方式。这对于实现应用程序与数据库之间高效稳定的通信具有重要意义。
5. 部署数据源:保存配置后,数据源将被部署到WebLogic服务器,可以在应用中通过JNDI查找并使用这个数据源。 此外,WebLogic还支持数据源的动态配置,这在集群环境中尤其有用。通过动态数据源,你可以为不同的...