java:oracleの中でclobとblobのは読んで書いて注意事項を書きます.


oracleを初めて操作したclobタイプは失敗しました.参考にしたのはhttp://www.iteye.com/topic/100066 この文章
tomcat起動後、出庫操作は大丈夫です.java.sql.Clobを使えばいいです.強制的にoracle.sql.C.LOBに変換する必要はありません.
入庫操作時に、元の文章から与えられた方法は以下の通りです.
//       empty_clob()
st.executeUpdate("insert into TESTCLOB (ID, NAME, CLOBATTR) values (1, "thename", empty_clob())");
//         ,  “for update”  
ResultSet rs = st.executeQuery("select CLOBATTR from TESTCLOB where ID=1 for update");
if (rs.next())
{
//  java.sql.Clob        oracle.sql.CLOB
oracle.sql.CLOB clob = (oracle.sql.CLOB) rs.getClob("CLOBATTR");
Writer outStream = clob.getCharacterOutputStream();
//data       ,  :String data
char[] c = data.toCharArray();
outStream.write(c, 0, c.length);
}
 本機で正常に運行しています.サーバーに配備された後、Java.lag.CastExceptionエラーを報告します.oracle.sql.C.LOBはoracle.sql.C.LOBタイプに強制的に変換できません.信頼しています.嘘じゃないですか?地元とサーバーの違いを調べたら、サーバーのtomcatのlibの下にもojdbc 14.jarがあります.工事中と同じです.地元のtomcatはこのカバンがないので、問題はここにあるようです.
最後の解決方法は、サーバー上の工事中のojdbc 14.jarのこのカバンを削除し、同時に上のコードの中の
//   java.sql.Clob        oracle.sql.CLOB
oracle.sql.CLOB clob = (oracle.sql.CLOB) rs.getClob("CLOBATTR");

/**
   *   :
   */
import oracle.sql.CLOB;

//   Clob        CLOB
CLOB clob = CLOB rs.getClob("CLOBATTR");
 どうして直接oracle.sql.C.LOBを書くのかというと、まだ研究していません.この二日間は忙しくて死にました.記録して、プロジェクトがオンラインになってから検討します.