1. 程式人生 > >weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB轉換成String

weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB轉換成String

用weblogic連線池裡面獲取到得連線查詢oracle clob欄位的資料,型別是weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB,強轉成oracle.sql.CLOB會報錯,但是weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB裡面有個屬性恰恰就是oracle.sql.CLOB,通過反射可以找到oracle.sql.CLOB,程式碼如下:

private Object clobToString(Object in){

try{
if ("oracle.sql.CLOB".equals(in.getClass().getName())){
String rtn = "";
oracle.sql.CLOB clob = (oracle.sql.CLOB)in;
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(in.getClass().getName())){
String rtn = "";
Method method = in.getClass().getMethod("getVendorObj",new Class[]{});
oracle.sql.CLOB clob = (oracle.sql.CLOB)method.invoke(in);
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 in;
}
}catch (Exception e){
return in;
}


}

相關推薦

weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB轉換String

用weblogic連線池裡面獲取到得連線查詢oracle clob欄位的資料,型別是weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB,強轉成oracle.sql.CLOB會報錯,但是weblogic.jdbc.wrapper.Clob_o

如何將Object類型轉換String類型

lba plain pub help eight 代碼 tle 能夠 try 1. Object.toString()?1obj.toString()註意:必須保證Object不是null值,否則將拋出NullPointerException異常。 2. (String)O

將時間類型的數據轉換string類型的數據

js datetime stringfunction dateToString(datetime) { // 獲取年份 var year = datetime.getFullYear(); // 獲取月份 從0開始的 var month = datetime.getMonth

.net中將 list<> 轉換string類型(1,2,3)

show count var string類 得到 泛型 end append 轉換成 list<string> isShow=new List<string>() ///泛型集合 isShow.Add(‘1‘) isShow.Add(‘

[Java類型轉換] Object 轉換 String 的三種方法

new ron pointer point cep object color 是否 java類型轉換 方法一:Object.toString() obj.toString() 註意:必須保證Object不是null值,否則將拋出NullPointerException異

各種基本型別轉換String型別

for   example將int轉換成String型別,方法有以下三種: 1.  String s = String.valueOf(i); 2.  String s = Integer.toString(i); 3.  Stri

scala常用操作-Tuple元祖轉換String字串

不BB直接上程式碼: object Test { def main(args: Array[String]): Unit = { val a = ("a", 1, 9.9) var rs = "" a.productIterator.foreach(v=&

Clob型別轉換String型別

                oracle中表結構如下:create table GRID_RESOURCE(  ID         VARCHAR2(50),  CNNAME     VARCHAR2(50),  TYPE       VARCHAR2(50),  PARENTID   VARCHAR2

Java將list資料取出並加入分隔符拼接,轉換String

方法一: public String listToString(List list, char separator) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < list.size(); i++

CString 轉換string vs2010

CString 轉換成string 我試了很多的方法,都不行,我用的vs2010,大家給提供個正確的方法。沒驗證過的可就別參和了。 ------解決方案-------------------- unicode: CString sz1 = L"abc"; std::stri

C++中UTF-8轉換string

本來想著有沒有直接將UTF-8編碼轉換成string的函式,查找了半天,然而並沒有,無奈只好自己封裝了一個,使用了C++11,程式碼如下: std::string MyString::UnicodeT

android開發中byte[]轉換String

想將byte[]轉換成String的話,用byte[].toString()是不行的,貌似是編碼的問題。用new String(byte[])就能正確轉換了。 就是說: String s="abc"; byte[] b=s.getByte(); String s1

ArrayList型別轉換String型別

之前在網站上搜了好多關於Android程式碼中ArrayList轉成String的方法,都沒找到自己想要的,後來仔細想想就自己寫了一個,希望對大家也能有所幫助,程式碼如下: // ArrayList型別轉成String型別 public S

c++中double轉換string型(浮點數的格式化)

在日常程式設計中--包括對話方塊、關係資料庫、金融程式、SMS程式及一切處理資料檔案的程式,需要控制小數點後的小數位的情況非常普遍,本文中將要講 解如何用簡單的方法來控制小數位,另外,還要揭開字串及資料精度的一點點小祕密。問題的引出如有一個函式,其可接受一個long doub

mysql int轉換string時型別要用char

欄位:number  是integer型別    在表test中 select cast(number as char) as number from test;   或者convert()方法 因為轉換的時候mysql不支援轉換成varchar所有要轉成char.

java 陣列轉換String方法

一、方法列表 Arrays.toString(Object[] obj); // 返回指定陣列內容的字串表示形式。 其他引數詳見圖: 二、返回String型別格式: 逗號分隔 [xx,

java char轉換string string轉換char

char->string char[] a=.... String s=String.valueof(a); String ->char char[] b=s.toCharArray();

byte[] 轉換String,再getBytes()之後byte[]內容與原陣列不同

#問題程式碼 byte[] bytes = new byte[]{40, -37, -96, 46, -75, -10}; byte[] myBytes = new String(bytes).getBytes(); System.out.println

如何將 DataFrame 中查詢出來的對應欄位的值獲取出來並轉換 String

/* 需求: 在MySQL中有一張表:id,sqltext,state 主要是本表中存在一個sql語句,現在需要SparkSQL去執行本SQL */ // 構建 SparkConf val conf = new SparkConf.setAppName("XXX"

java int型別轉換String , 不足10位 在前面補0

String.format("%010d", 25); 0代表前面要補的字元 10代表字串長度 d表示引數為整數型別 String s = "Hello World!"; int i =