设为首页 收藏本站
查看: 533|回复: 0

[经验分享] GateIn在Tomcat下启动报错2

[复制链接]

尚未签到

发表于 2017-2-2 10:05:50 | 显示全部楼层 |阅读模式
      GateIn默认安装的数据库是HSQL,在其白皮书上也介绍了如何配置MYSQL数据库。公司所使用的数据库是MS SQL Server 2005,看GateIn的介绍是支持其他数据库的,所以着手进行迁移。修改$GateIn_home\gatein\conf下面的configuration.properties文件,同时修改JCR和IDM的数据库配置信息。
  


# JCR
gatein.jcr.config.type=local
gatein.jcr.datasource.name=jdbcjcr_portal
gatein.jcr.datasource.dialect=org.hibernate.dialect.SQLServerDialect
gatein.jcr.datasource.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
gatein.jcr.datasource.url=jdbc:sqlserver://192.168.0.30:1433;DatabaseName=jdbcjcr_portal
gatein.jcr.datasource.username=sa
gatein.jcr.datasource.password=123456
  


# IDM
gatein.idm.datasource.name=jdbcidm_portal
gatein.idm.datasource.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
gatein.idm.datasource.url=jdbc:sqlserver://192.168.0.30:1433;DatabaseName=jdbcidm_portal
gatein.idm.datasource.username=sa
gatein.idm.datasource.password=123456
  同时将MS SQL Server的JDBC连接jar包放到lib文件夹下面。启动Tomcat,console抛出错误信息。
  

  2011-2-15 9:58:26 org.exoplatform.container.RootContainer createPortalContainer
  严重: Cannot create the portal container 'portal' . ServletContext: org.apache.catalina.core.ApplicationContextFacade@1991de1
  org.picocontainer.PicoIntrospectionException: Failed when calling start on org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl@11ed166
  at org.picocontainer.defaults.LifecycleVisitor.traverse(LifecycleVisitor.java:81)
  at org.picocontainer.defaults.LifecycleVisitor.start(LifecycleVisitor.java:113)
  at org.exoplatform.container.ConcurrentPicoContainer.start(ConcurrentPicoContainer.java:453)
  at org.exoplatform.container.ExoContainer.start(ExoContainer.java:186)
  at org.exoplatform.container.PortalContainer.start(PortalContainer.java:595)
  at org.exoplatform.container.ExoContainer.start(ExoContainer.java:180)
  at org.exoplatform.container.RootContainer.createPortalContainer(RootContainer.java:338)
  at org.exoplatform.container.RootContainer.registerPortalContainer(RootContainer.java:212)
  at org.exoplatform.portal.application.PortalController.afterInit(PortalController.java:114)
  at org.exoplatform.container.web.AbstractHttpServlet.init(AbstractHttpServlet.java:72)
  at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
  at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
  at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4149)
  at org.apache.catalina.core.StandardContext.start(StandardContext.java:4458)
  at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
  at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
  at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
  at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
  at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:556)
  at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:491)
  at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
  at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
  at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
  at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
  at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
  at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
  at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
  at org.apache.catalina.core.StandardService.start(StandardService.java:516)
  at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
  at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
  at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
  Caused by: java.lang.RuntimeException: org.exoplatform.services.jcr.config.RepositoryConfigurationException: Fail to init from xml! Reason: javax.jcr.RepositoryException: Database exception. com.microsoft.sqlserver.jdbc.SQLServerException: 第 2 个列、参数或变量: 找不到数据类型 BLOB。. SQL: CREATE TABLE JCR_CONFIG (NAME VARCHAR(64) NOT NULL, CONFIG BLOB NOT NULL, CONSTRAINT JCR_CONFIG_PK PRIMARY KEY(NAME)): Database exception. com.microsoft.sqlserver.jdbc.SQLServerException: 第 2 个列、参数或变量: 找不到数据类型 BLOB。. SQL: CREATE TABLE JCR_CONFIG (NAME VARCHAR(64) NOT NULL, CONFIG BLOB NOT NULL, CONSTRAINT JCR_CONFIG_PK PRIMARY KEY(NAME))
  at org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl.start(RepositoryServiceConfigurationImpl.java:303)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at org.picocontainer.defaults.LifecycleVisitor.traverse(LifecycleVisitor.java:75)
  ... 35 more
  Caused by: org.exoplatform.services.jcr.config.RepositoryConfigurationException: Fail to init from xml! Reason: javax.jcr.RepositoryException: Database exception. com.microsoft.sqlserver.jdbc.SQLServerException: 第 2 个列、参数或变量: 找不到数据类型 BLOB。. SQL: CREATE TABLE JCR_CONFIG (NAME VARCHAR(64) NOT NULL, CONFIG BLOB NOT NULL, CONSTRAINT JCR_CONFIG_PK PRIMARY KEY(NAME)): Database exception. com.microsoft.sqlserver.jdbc.SQLServerException: 第 2 个列、参数或变量: 找不到数据类型 BLOB。. SQL: CREATE TABLE JCR_CONFIG (NAME VARCHAR(64) NOT NULL, CONFIG BLOB NOT NULL, CONSTRAINT JCR_CONFIG_PK PRIMARY KEY(NAME))
  ... 41 more
  Caused by: javax.jcr.RepositoryException: Database exception. com.microsoft.sqlserver.jdbc.SQLServerException: 第 2 个列、参数或变量: 找不到数据类型 BLOB。. SQL: CREATE TABLE JCR_CONFIG (NAME VARCHAR(64) NOT NULL, CONFIG BLOB NOT NULL, CONSTRAINT JCR_CONFIG_PK PRIMARY KEY(NAME)): Database exception. com.microsoft.sqlserver.jdbc.SQLServerException: 第 2 个列、参数或变量: 找不到数据类型 BLOB。. SQL: CREATE TABLE JCR_CONFIG (NAME VARCHAR(64) NOT NULL, CONFIG BLOB NOT NULL, CONSTRAINT JCR_CONFIG_PK PRIMARY KEY(NAME))
  at org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl.retain(RepositoryServiceConfigurationImpl.java:207)
  at org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl.start(RepositoryServiceConfigurationImpl.java:293)
  ... 40 more
  Caused by: org.exoplatform.services.jcr.config.RepositoryConfigurationException: Database exception. com.microsoft.sqlserver.jdbc.SQLServerException: 第 2 个列、参数或变量: 找不到数据类型 BLOB。. SQL: CREATE TABLE JCR_CONFIG (NAME VARCHAR(64) NOT NULL, CONFIG BLOB NOT NULL, CONSTRAINT JCR_CONFIG_PK PRIMARY KEY(NAME))
  at org.exoplatform.services.jcr.impl.config.JDBCConfigurationPersister.write(JDBCConfigurationPersister.java:384)
  at org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl.retain(RepositoryServiceConfigurationImpl.java:189)
  ... 41 more
  Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 第 2 个列、参数或变量: 找不到数据类型 BLOB。
  at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
  at com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
  at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
  at com.microsoft.sqlserver.jdbc.SQLServerStatement.sendExecute(Unknown Source)
  at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteUpdate(Unknown Source)
  at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeUpdate(Unknown Source)
  at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:225)
  at org.exoplatform.services.jcr.impl.config.JDBCConfigurationPersister.write(JDBCConfigurationPersister.java:327)
  ... 42 more
  Caused by:
  java.lang.RuntimeException: org.exoplatform.services.jcr.config.RepositoryConfigurationException: Fail to init from xml! Reason: javax.jcr.RepositoryException: Database exception. com.microsoft.sqlserver.jdbc.SQLServerException: 第 2 个列、参数或变量: 找不到数据类型 BLOB。. SQL: CREATE TABLE JCR_CONFIG (NAME VARCHAR(64) NOT NULL, CONFIG BLOB NOT NULL, CONSTRAINT JCR_CONFIG_PK PRIMARY KEY(NAME)): Database exception. com.microsoft.sqlserver.jdbc.SQLServerException: 第 2 个列、参数或变量: 找不到数据类型 BLOB。. SQL: CREATE TABLE JCR_CONFIG (NAME VARCHAR(64) NOT NULL, CONFIG BLOB NOT NULL, CONSTRAINT JCR_CONFIG_PK PRIMARY KEY(NAME))
  at org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl.start(RepositoryServiceConfigurationImpl.java:303)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at org.picocontainer.defaults.LifecycleVisitor.traverse(LifecycleVisitor.java:75)
  at org.picocontainer.defaults.LifecycleVisitor.start(LifecycleVisitor.java:113)
  at org.exoplatform.container.ConcurrentPicoContainer.start(ConcurrentPicoContainer.java:453)
  at org.exoplatform.container.ExoContainer.start(ExoContainer.java:186)
  at org.exoplatform.container.PortalContainer.start(PortalContainer.java:595)
  at org.exoplatform.container.ExoContainer.start(ExoContainer.java:180)
  at org.exoplatform.container.RootContainer.createPortalContainer(RootContainer.java:338)
  at org.exoplatform.container.RootContainer.registerPortalContainer(RootContainer.java:212)
  at org.exoplatform.portal.application.PortalController.afterInit(PortalController.java:114)
  at org.exoplatform.container.web.AbstractHttpServlet.init(AbstractHttpServlet.java:72)
  at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
  at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
  at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4149)
  at org.apache.catalina.core.StandardContext.start(StandardContext.java:4458)
  at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
  at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
  at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
  at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
  at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:556)
  at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:491)
  at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
  at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
  at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
  at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
  at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
  at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
  at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
  at org.apache.catalina.core.StandardService.start(StandardService.java:516)
  at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
  at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
  at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
  Caused by: org.exoplatform.services.jcr.config.RepositoryConfigurationException: Fail to init from xml! Reason: javax.jcr.RepositoryException: Database exception. com.microsoft.sqlserver.jdbc.SQLServerException: 第 2 个列、参数或变量: 找不到数据类型 BLOB。. SQL: CREATE TABLE JCR_CONFIG (NAME VARCHAR(64) NOT NULL, CONFIG BLOB NOT NULL, CONSTRAINT JCR_CONFIG_PK PRIMARY KEY(NAME)): Database exception. com.microsoft.sqlserver.jdbc.SQLServerException: 第 2 个列、参数或变量: 找不到数据类型 BLOB。. SQL: CREATE TABLE JCR_CONFIG (NAME VARCHAR(64) NOT NULL, CONFIG BLOB NOT NULL, CONSTRAINT JCR_CONFIG_PK PRIMARY KEY(NAME))
  ... 41 more
  Caused by: javax.jcr.RepositoryException: Database exception. com.microsoft.sqlserver.jdbc.SQLServerException: 第 2 个列、参数或变量: 找不到数据类型 BLOB。. SQL: CREATE TABLE JCR_CONFIG (NAME VARCHAR(64) NOT NULL, CONFIG BLOB NOT NULL, CONSTRAINT JCR_CONFIG_PK PRIMARY KEY(NAME)): Database exception. com.microsoft.sqlserver.jdbc.SQLServerException: 第 2 个列、参数或变量: 找不到数据类型 BLOB。. SQL: CREATE TABLE JCR_CONFIG (NAME VARCHAR(64) NOT NULL, CONFIG BLOB NOT NULL, CONSTRAINT JCR_CONFIG_PK PRIMARY KEY(NAME))
  at org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl.retain(RepositoryServiceConfigurationImpl.java:207)
  at org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl.start(RepositoryServiceConfigurationImpl.java:293)
  ... 40 more
  Caused by: org.exoplatform.services.jcr.config.RepositoryConfigurationException: Database exception. com.microsoft.sqlserver.jdbc.SQLServerException: 第 2 个列、参数或变量: 找不到数据类型 BLOB。. SQL: CREATE TABLE JCR_CONFIG (NAME VARCHAR(64) NOT NULL, CONFIG BLOB NOT NULL, CONSTRAINT JCR_CONFIG_PK PRIMARY KEY(NAME))
  at org.exoplatform.services.jcr.impl.config.JDBCConfigurationPersister.write(JDBCConfigurationPersister.java:384)
  at org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl.retain(RepositoryServiceConfigurationImpl.java:189)
  ... 41 more
  Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 第 2 个列、参数或变量: 找不到数据类型 BLOB。
  at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
  at com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
  at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
  at com.microsoft.sqlserver.jdbc.SQLServerStatement.sendExecute(Unknown Source)
  at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteUpdate(Unknown Source)
  at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeUpdate(Unknown Source)
  at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:225)
  at org.exoplatform.services.jcr.impl.config.JDBCConfigurationPersister.write(JDBCConfigurationPersister.java:327)
  ... 42 more
    可以看出是因为在初始化数据库时创建表JCR_CONFIG是由于数据类型不支持导致的错误。MS SQL Server中是没有BLOB数据类型的,而是通过text等类型支持的。

那问题出现在哪里?经过仔细查找、对比HSQL对BLOB的支持,发现问题出现在gatein.jcr.datasource.dialect=org.hibernate.dialect.SQLServerDialect 这句上面。

这句标明jcr的dialect是SQLServerDialect。

可能是不支持的原因吧,所以在创建表的时候BLOB数据类型没有转换为MS SQL Server支持的类型,

因此在初始化的初始化的时候抛出了上诉异常。将gatein.jcr.datasource.dialect=auto。问题完美解决。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-336415-1-1.html 上篇帖子: 通过 Terracotta实现基于Tomcat的Web应用集群教程 下篇帖子: Tomcat web.xml配置文件详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表