안녕하세요...
blob으로 파일첨부하는 게시판을 만들고 있습니다.
다름이 아니오라 업로드시에 6Kbyte이상되는 파일을 첨부하게 되면
" IO 예외 상황: End of TNS data channel "이라는 에러가 나옵니다.
6Kbyte이하 파일은 에러 없이 잘 첨부 됩니다.
여러 q&a를 다 찾아 보았지만 해당 에러에 대한 답은 jdbc드라이버 classpath를 다시 설정해 주라는것만 있어서
jdbc드라이버 classpath를 변경해 보았지만 안됩니다...(T,T)
혹시 오라클에서 세팅을 해주어야 합니까?
오라클은 8.1.7을 쓰고 있고 톰캣은 4.0.4입니다.
고수님들 조언 부탁드립니다...
몇일동안 여기저기 찾아 봤지만 해결을 못하고 있습니다.
초보좀 구해주세요~~
BLOB에 대한 자료가 있으시면 알려주시면 감사하겠습니다.
그럼 좋은 하루 보내시고 감사합니다....
CREATE TABLE IGS_FILE ( IF_NID NUMBER (8) NOT NULL, IF_IID NUMBER (8) NOT NULL, IF_BID NUMBER, IF_ORDER NUMBER, IF_PATH VARCHAR2 (60), IF_NAME VARCHAR2 (100), IF_SIZE VARCHAR2 (20), IF_KIND VARCHAR2 (40), IF_FILE BLOB ) ;
String paramname = ""; int fborder = 0; String fbpath = ""; String fbname = ""; String fbsize = ""; String fbkind = ""; File fblob = null ;
Enumeration files = mrequest.getFileNames(); while (files.hasMoreElements()) { paramname = (String)files.nextElement();
fblob = mrequest.getFile(paramname); fbpath = mrequest.getFilesystemName(paramname); fbkind = mrequest.getContentType(paramname);
if (fblob != null) { fbname = fblob.getName(); fbsize = Long.toString(fblob.length());
try{ pstmt = conn.prepareStatement("INSERT INTO IGS_FILE values(? , ? ,? ,? ,? ,? ,? ,? ,?)"); pstmt.setInt(1, max_id); pstmt.setInt(2, Integer.parseInt(strcid)); pstmt.setInt(3, Integer.parseInt(strboardid)); pstmt.setInt(4, fborder++); pstmt.setString(5, ""); pstmt.setString(6, fbname); pstmt.setString(7, fbsize); pstmt.setString(8, fbkind);
/***************BLOB**************/
if( fblob == null) { pstmt.setBinaryStream (9, null, 0); }else{ pstmt.setBinaryStream (9, new FileInputStream (fblob), (int)fblob.length ()); }
/******************************/ pstmt.execute(); }catch(SQLException e){ out.print(e); }catch(IOException ex){ out.print(ex); }
}//if }//while
|