繁体   English   中英

无法存储作业:驱动程序的 Blob 表示类型不受支持:oracle.sql.BLOB

[英]Couldn't store job: Driver's Blob representation is of an unsupported type: oracle.sql.BLOB

我收到此错误:

org.quartz.JobPersistenceException: Couldn't store job: Driver's Blob representation is of an unsupported type: oracle.sql.BLOB [See nested exception: java.sql.SQLException: Driver's Blob representation is of an unsupported type: oracle.sql.BLOB]
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport.java:1103)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport$3.execute(JobStoreSupport.java:1042)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport$40.execute(JobStoreSupport.java:3670)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3742)
    at org.quartz.impl.jdbcjobstore.JobStoreTX.executeInLock(JobStoreTX.java:90)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInLock(JobStoreSupport.java:3666)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJobAndTrigger(JobStoreSupport.java:1030)
    at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:743)
    at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:243)
    at com.akbank.bsa.core.ApplicationStartup.run(ApplicationStartup.java:66)
    at com.akbank.bsa.core.ApplicationStartup.initialize(ApplicationStartup.java:24)
    at com.akbank.bsa.listener.Startup.contextInitialized(Startup.java:17)
    at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850)
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
Caused by: java.sql.SQLException: Driver's Blob representation is of an unsupported type: oracle.sql.BLOB
    at org.quartz.impl.jdbcjobstore.oracle.OracleDelegate.writeDataToBlob(OracleDelegate.java:646)
    at org.quartz.impl.jdbcjobstore.oracle.OracleDelegate.insertJobDetail(OracleDelegate.java:207)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport.java:1097)
    ... 19 more

使用:

Jboss 作为 7.1.1

Java 1.6

Oracle 数据库 11g 企业版发布11.2.0.2.0 - 64 位生产

ojdbc6.jar实现版本:11.2.0.2.0

石英-2.1.6

可能是什么问题呢?

从类路径中删除ojdbc6.jar并添加JBoss模块(ojdbc6模块)作为依赖项解决了这个问题。

我们找到了解决这个问题的优雅方案 有效。 我们需要在全局模块中添加oracle模块,如下所示。

    <subsystem xmlns="urn:jboss:domain:ee:1.1">
        <global-modules>
            <module name="com.oracle" slot="main"/>
        </global-modules>

        <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
        <jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
    </subsystem>

成功解决了JBoss EAP 6的相同问题。主要思路是相同的 - 从战争中移除jar(如果它在那里)并让app服务器提供它。 详情如下。

1)添加了WEB-INF/jboss-deployment-structure.xml

<jboss-deployment-structure>
<deployment>
    <dependencies>
        <module name="com.oracle" />
    </dependencies>
</deployment>
</jboss-deployment-structure>

2)定义jboss\\eap640\\modules\\system\\layers\\base\\com\\oracle\\main\\module.xml

<module xmlns="urn:jboss:module:1.1" name="com.oracle">
  <resources>
    <resource-root path="ojdbc7.jar"/>
  </resources>
  <dependencies>
    ...
  </dependencies>
</module>

3)将ojdbc7.jar放入jboss\\eap640\\modules\\system\\layers\\base\\com\\oracle\\main

这对我有用;

<subsystem xmlns="urn:jboss:domain:datasources:7.0">
      <datasources>
        <datasource jndi-name="*******" pool-name="****" enabled="true" use-java-context="true" statistics-e$
          <connection-url>******</connection-url>
          <driver>oracle</driver>
          <security>
            <user-name>***</user-name>
            <password>***</password>
          </security>
        </datasource>
        <drivers>
          <driver name="oracle" module="com.oracle">
            <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
          </driver>
        </drivers>
      </datasources>
</subsystem>
.
.
.
<subsystem xmlns="urn:jboss:domain:ee:6.0">
     .
     .
     .
     <global-modules>
         <module name="com.oracle" slot="main"/>
     </global-modules>
     .
     .
     .
</subsystem>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM