我需要以下问题的建议/帮助:我正在为Java web应用程序的oracle迁移工作。我想把我的应用程序从oracle 9i移动到11g
环境为:Jdk - 1.4.2Weblogic 8.1 (SP6)要连接的数据库- Oracle 11gweblogic.db.url = jdbc: oracle:薄:@ $ {weblogic.db.host}: {weblogic.db.port}/美元weblogic.db.driver = oracle.jdbc.OracleDriverOracle JDBC驱动程序"10.2.0.2.0"
当我查询任何具有CLOB数据类型的表时,查询执行失败,并出现以下错误:
"无法为'weblogic.jdbc.wrapper '类型赋值。Clob_oracle_sql_CLOB'到'oracle.sql.CLOB'类型的'description_en'属性" 。
我在oracle文档中读到weblogic 8.1(S6)支持oracle 11g。
返回CLOB数据类型以外的任何其他查询,它工作得很好,问题只是与CLOB数据类型,也与Oracle 11g:(
如果连接到Oracle 9i,相同的代码可以正常工作,唯一的问题是Oracle 11g。
我的假设是我可能缺少一些额外的包装器/扩展,这可能需要映射CLOB数据类型,因为我认为weblogic 8.1没有直接支持。
我也在考虑下面几行:如果应用程序包含自己的Oracle jar文件,则不使用WebLogic提供的数据源。但我不知道如何才能确定这一点。
请帮忙!
您需要升级Java版本。当前Oracle驱动程序不支持Java 1.4。
此外,最好的做法是将Oracle驱动程序jar添加到容器类路径中,而不是将它们包含在应用程序中。然后,应用程序需要引用容器提供的数据源。如果您计划一些特定于oracle的烟花,您可能需要在编译时使用驱动程序jar。您需要在Maven pom.xml中将它们标记为"提供"。