積少成多

          垃圾堆

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            29 Posts :: 1 Stories :: 5 Comments :: 0 Trackbacks
          轉自    oracle.sql.CLOB clob =null;  
              stmt 
          = conn.createStatement();  
              rs 
          = stmt.executeQuery(sql);  
              
          if (rs.next()) {  
                  System.out.println(rs.getClob(
          column).getClass());  
                  clob 
          = (oracle.sql.CLOB) rs.getClob(column);  
                  out 
          = new BufferedWriter(clob.getCharacterOutputStream());  
                  
          in = new BufferedReader(new StringReader(data));  
              }
          這個代碼很奇怪,看試沒有一點問題,但是,項目跑起來后,代碼 
          clob = (oracle.sql.CLOB) rs.getClob(column); 
          都會拋出java.lang.ClassCastException: oracle.sql.CLOB異常(WEB容器使用的是TOMCAT5.5),先以為是類型轉換的問題, 
          System.out.println(rs.getClob(column).getClass()); 
          但打印出來的是oracle.sql.clob 
          后又以為是驅動的問題,把classes12.jar換成了ojdbc14.jar 
          可問題還沒有解決 

          解決的方法: 

          在網上狂找,終于找到一位高人寫的一篇高水平的文章(主要是把我的問題給解決了,哈) 

          是因為驅動包重復了,我理解為類重名,我使用的是tomcat數據源,哪么,$TOMCAT_HOME$\comm\lib目錄下需要oracle驅動包,是給tomcat創建jndi數據源時用的,而項目中也要有oracle驅動包,是給程序編譯用的,最后使用eclilpse的java build path進行外部引用,使用應用程序編譯通過,但也不會把ojdbc14.jar的驅動包引入到發布目錄,再試,果然解決了問題。

          posted on 2011-06-07 13:38 思無 閱讀(524) 評論(0)  編輯  收藏 所屬分類: WEBIssue
          主站蜘蛛池模板: 辽中县| 马龙县| 南乐县| 南和县| 西吉县| 布尔津县| 手游| 阳山县| 平舆县| 若尔盖县| 邯郸县| 宿迁市| 天峨县| 女性| 左云县| 淅川县| 驻马店市| 封开县| 宜川县| 剑河县| 盐源县| 蕲春县| 周口市| 平顶山市| 许昌市| 大石桥市| 和硕县| 平利县| 屏南县| 文水县| 元朗区| 伊川县| 吴江市| 石阡县| 清水河县| 华宁县| 长治市| 靖江市| 阳山县| 武山县| 玉树县|