今天写了一个通过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.jdbc.wrapper.Clob_oracle_sql_CLOB转型成oracle.sql.CLOB问题
weblogic数据源配置 weblogic数据源配置 weblogic数据源配置
Weblogic 数据源配置,Weblogic 数据源配置,Weblogic 数据源配置,Weblogic 数据源配置,Weblogic 数据源配置,Weblogic 数据源配置,Weblogic 数据源配置,Weblogic 数据源配置,Weblogic 数据源配置,Weblogic ...
spring获取weblogic jndi数据源的两种方式,一种本地weblogic server获取,无需用户名、密码、IP和端口等;另一种为从其他weblogic server获取,则必须申明用户名、密码、IP和端口
解决weblogic在使用数据源 向数据库的clob类型字段写入内容的问题
Weblogic配置数据源,可以帮助新手学会配置weblogic数据源!非常实用。
这个是weblogic9.0+mysql5.1的环境下配置数据源详细步骤。 其实在tomcat,jboss,WebSphere等服务期中都提供了配置数据源的功能,大概的配置都很类似。
weblogic数据源连接池的创建步骤,很快很好很方便
weblogic数据源调用 写了三种方法 都可以实现 数据库为oracle
文中包含了JDBC 数据源的详细配置和说参数的说明。并且有图作为参考。
weblogic的数据源优化记录
WebLogic 9.1 数据源配置及部署应用包 WebLogic 9.1 数据源配置及部署应用包
weblogic配置jdbc数据源weblogic配置jdbc数据源weblogic配置jdbc数据源
weblogic配置数据源:名称:填写数据源的名称 该名称在weblogic中的唯一标识 JNDI名称:为连接数据库时指定datasourse的名称(可以随便写) 数据库类型:选择你当前使用的数据库
NULL 博文链接:https://xiongjiajia.iteye.com/blog/2162302
weblogic1036+db2数据源配置
Weblogic配置Oracle数据源,掌握Weblogic配置原理
weblogic安装 集群配置 数据源配置
详细介绍在Weblogic9.1中如何进行Web应用程序的部署和数据源的配置。
有截图及说明,详细的介绍了weblogic多数据源的创建过程。。