1

我正在将在 WLS 10.0 上运行的 ALBPM 6.5 迁移到在 WLS 10.3.1 上运行的 Oracle BPM 10.3.1

我在使用 Oracle 驱动程序时遇到了一些问题,因为旧驱动程序 (weblogic.jdbcx.oracle.OracleDataSource) 肯定已从服务器中删除并且不再受支持。相反,我使用了瘦驱动程序(oracle.jdbc.xa.OracleXADataSource),成功执行了数据库迁移,但是之后,当我尝试在 WebLogic 中部署引擎耳朵时,我得到了与驱动程序相关的异常:

[     (cont)     ] Main: Caused by: weblogic.application.ModuleException: [HTTP:101216]Servlet: "engineStartup" failed to preload on startup in Web application: "/albpmServices/albpm_engine".                                  
[     (cont)     ] Main: fuego.directory.DirectoryRuntimeException: Exception [java.sql.SQLException: Invalid column type].                                                                                                      
[     (cont)     ] Main:        at fuego.directory.DirectoryRuntimeException.wrapException(DirectoryRuntimeException.java:85)                                                                                                    
[     (cont)     ] Main:        at fuego.directory.provider.jdbc.oracle.OraclePersistenceManager.mapSQLException(OraclePersistenceManager.java:145)                                                                              
[     (cont)     ] Main:        at fuego.directory.provider.jdbc.datadirect.oracle.DataDirectOraclePersistenceManager.mapSQLException(DataDirectOraclePersistenceManager.java:51)                                                
[     (cont)     ] Main:        at fuego.directory.provider.jdbc.JDBCServiceAccessor.mapSQLException(JDBCServiceAccessor.java:78)                                                                                                
[     (cont)     ] Main:        at fuego.directory.provider.jdbc.JDBCObjectPropertiesAccessor.fetchAllDirectoryProperties(JDBCObjectPropertiesAccessor.java:442)                                                                 
[     (cont)     ] Main:        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 

我一直在寻找解决方案,但都指向使用旧驱动程序,我认为在 Oracle 完全删除它后强制服务器使用该驱动程序并不是一个好习惯。有什么建议或类似经验吗??

4

2 回答 2

0

执行数据库跟踪以查看它在生成错误的fetchAllDirectoryProperties调用中尝试执行的查询。java.sql.SQLException: Invalid column type这应该指出哪个表/列给您带来了麻烦,并且应该更容易追踪潜在的驱动程序或升级问题。

此外,在下面第 5/6 页的文档中提到,在使用瘦驱动程序时,您必须设置属性 defaultNChar=true:

http://www.oracle.com/technology/products/bpm/bpm10gr3technicalarticles/OracleBPMClusteringTips.pdf

Oracle BPM 支持多语言功能。所有模式都准备存储双字节代码,以确保数据完整性,无论使用 OBPM 的位置和区域如何。使用 Oracle 内部 JDBC 驱动程序(来自 Oracle BPM 10gR3 Clustering Configuration Tips DataDirect 的 OEM)时,一切都会自动准备好。但是,在使用 Oracle Thin JDBC 驱动程序时,需要添加以下属性以进行正确的数据转换:“defaultNChar=true”

于 2010-04-07T00:49:50.423 回答
0

我已经看到 weblogic 驱动程序也会导致问题。试试 oracle 瘦驱动oracle.jdbc.OracleDriver
我认为这是套件中某些产品的官方 WebLogic 文档的一部分,例如门户http://download.oracle.com/docs/cd/E13218_01/wlp/docs100/db/oracle.html#wp1077052

于 2011-02-23T03:54:59.233 回答