在Oracle的console获取DDL语句: SET LONG 2000000 SET PAGESIZE 0 EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',false); select dbms_metadata.GET_DDL(u.object_type,u.object_name,'SCOTT') from dba_objects u where owner = 'SCOTT'; 这查询一旦搬到JDBC就会出问题,原因是查询出来的是Clob而非String 所以需要把Clob转换成String。 String clobToString(Clob clob) {
try {
// 以 java.io.Reader 对象形式(或字符流形式)
//检索此 Clob 对象指定的 CLOB 值 --Clob的转换
Reader inStreamDoc = clob.getCharacterStream();
// 取得clob的长度
char[] tempDoc = new char[(int) clob.length()];
inStreamDoc.read(temp