여기 나는 wierd 문제이기 때문에 아마도 답을 얻지 못할 다른 질문이 있습니다 !!! 우리는 WebSphere V5.1과 함께 Rational Software Development Platform V6을 사용하여 애플리케이션을 실행하고 있습니다. 우리는 소스를 공유하기 위해 CVS와 협력합니다. 응용 프로그램은 PDF 보고서를 생성하고 ZIP을 생성 한 다음이를 BLOB 필드의 데이터베이스 (Oracle 9i)에 저장합니다. 지금까지 모든 것이 잘 작동합니다. RAD를 사용하여 ojdbc14.jar을 사용하여 데이터베이스를 연결합니다 (우리는 영원히 사용하고 있습니다 ...). 우리는 로컬 응용 프로그램을 실행할 때 이렇게 말했다되고 있음을, 다음 줄은 예외가 발생 :BLOB.createTemporary() 잘못된 인수 예외
tempBlob = BLOB.createTemporary(cnn, true, BLOB.DURATION_SESSION);
예외는 호출에 잘못된 인수 (들)을 말하는 SQLException이있다. 데이터베이스 액세스가 중앙 집중화되고 개체 cnn이 OracleConnection 유형인데, 이는 응용 프로그램 전체에서 사용하는 것과 동일한 기능으로 검색하는 것이므로 어떤 인수가 잘못된 것인지 알 수 없습니다. 그래서, ByteInputStream을 사용하여 setByteStream을 사용하여 준비된 명령문의 매개 변수를 설정합니다. 내 바이트 배열의 값은 OK이며 2 MO와 같은 값이 들어 있습니다. 쿼리를 실행하면 1 행 업데이트가 표시됩니다. 성공적으로 업데이트 된 데이터베이스 호출 finish_time 필드가 있습니다. 다른 필드 인 보고서 필드는 null입니다. ...
다시 createTemportary 함수로 돌아 가면 하루 3 명의 개발자가 문제는 우리가 아무 것도 발견하지 못한 문제를 일으킨다. 그래서 나는 DEV 서버에서 코드를 이주하기로 결정했다. 변경 사항을 커밋하고, 완전히 새로운 작업 공간을 만들고, Ant 빌드를 체크 아웃하고 실행하여 빌드를 작성하고 FTP를 통해 WAR를 보내 WebSphere 서버에 배포합니다. 그런 다음 보고서 생성을 시도하고 DB가 성공적으로 업데이트됩니다. createTemporary 함수는 예외를 발생시키지 않지만 로컬에서는 예외를 발생시킵니다. 문제는 우리 중 아무도 그 지역에서 할 수 없다는 것입니다. 어째서? 어떤 힌트?