Struts2.0 (struts2 hibernate spring) 파일 업로드blob
비교 시간(이렇게 말하면 관련 문서를 열람하지 않았고 이 값이 얼마인지 테스트하지 않았기 때문에) 정상적으로 데이터베이스에 올릴 수 있지만 300여 K의 그림을 올렸을 때 다음과 같은 오류가 발생했다.
허용되지 않는 작업:streams type cannot be used in batching
인터넷에서 검색했을 때 어떤 형이 다음과 같은 설명을 했다.
인용하다
최근 프로그램의 데이터베이스가oracle로 변경되었습니다. blob 형식 타임즈에서 다음 오류가 발생했습니다. 허용되지 않는 동작:streams type cannot be used in batching.다방면의 자료를 찾아서 Oracle JDBC는 흐르는 동작을 대량으로 실행할 수 없음을 증명했다. (Oracle CLOB는 흐르는 메커니즘을 데이터 읽기와 쓰기 방식으로 사용한다.)스프링 프로필에서hibernate jdbc만 변경하면 됩니다.batch_크기가 0이면 됩니다.
<bean id="oracleSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="oracleDataSource"/>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
<prop key="connection.provider_class">
org.hibernate.connection.C3P0ConnectionProvider
</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.provider_class">
org.hibernate.cache.EhCacheProvider
</prop>
<prop key="hibernate.jdbc.batch_size">0</prop>
</props>
</property>
위의 참조 출처:http://hsyd.iteye.com/blog/320579
내가 추가한 후에 또 새로운 문제가 생겼다.
org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed
너무 답답해요. 인터넷에서 많이 찾아봤는데 대부분이 save의 빈값을 먼저 내고 업데이트를 해야 한다고 했어요. 제가 한번 해 봤는데 ssh 구조에서 실현하기 어려울 것 같아서 문제를 해결하지 못했어요. 제 공력이 부족할 것 같아요. 허허. 그런데 인터넷에서 봤어요.
인용하다
oracle10G 테이프의 jdbcdriver로 clob에서 직접 읽을 수 있습니다
그래서 만약에 제가oracle10G가 가지고 있는 jdbcdriver를 사용한다면 블로브 타입을 직접 읽을 수 있지 않을까요?한번 해봤는데 미친 듯이 기뻐했어요...드디어 해결됐으니 곤혹스러워하는 동업자들에게 나눠드리겠습니다.
참고로 제가 예전에 사용했던oracle 드라이브는class12입니다.jar, 인터넷에서 10g의 드라이브를 내렸습니다. 이름은 ojdbc14입니다.jar, 현재 첨부 파일로 다운로드를 편리하게 제공합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.