繁体   English   中英

应用程序在ubuntu中表现怪异,但在Windows中工作正常

[英]Application behaving weird in ubuntu, but working fine in windows

我有一个简单的基于Java的Web应用程序(使用servlet,jsp和struts框架)。 该应用程序使用mysql作为数据库服务器,并使用tomcat作为应用程序服务器。

该应用程序在Windows上运行良好,但是当我在ubuntu中部署相同的应用程序时,出现以下错误:

### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'dbconnect.ACT_GE_PROPERTY' doesn't exist
The error occurred while setting parameters
SQL: select VALUE_ from ACT_GE_PROPERTY where NAME_ = 'schema.version'
Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'dbconnect.BDB_PROPERTIES' doesn't exist
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:104)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:95)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:59)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:54)
at org.activiti.engine.impl.db.DbSqlSession.getDbVersion(DbSqlSession.java:741)
at org.activiti.engine.impl.db.DbSqlSession.dbSchemaCheckVersion(DbSqlSession.java:697)

在mysql数据库中,在dbconnect数据库中创建了两个表,其中一个具有大写名称(即ACT_GE_PROPERTY),另一个具有小写名称(即act_ge_properties),这些表由应用程序自动创建。

当我在Windows上运行应用程序时,只有一个表以小写形式创建为act_ge_properties,但是在ubuntu中创建了两个表,一个以大写形式创建,另一个以小写形式创建,即ACT_GE_PROPERTY和act_ge_properties。

我不知道问题是什么,有人可以帮我吗?

编辑

错误:

04:08:20,856 [main] ERROR org.activiti.engine.impl.interceptor.CommandContext  - Error while closing command context
org.activiti.engine.ActivitiException: no activiti tables in db. set <property name="databaseSchemaUpdate" to value="true" or value="create-drop" (use create-drop for testing only!) in bean processEngineConfiguration in activiti.cfg.xml for automatic schema creation
at   org.activiti.engine.impl.db.DbSqlSession.dbSchemaCheckVersion(DbSqlSession.java:719)
at org.activiti.engine.impl.db.DbSqlSession.performSchemaOperationsProcessEngineBuild(DbSqlSession.java:1111)
at org.activiti.engine.impl.SchemaOperationsProcessEngineBuild.execute(SchemaOperationsProcessEngineBuild.java:25)
at org.activiti.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)
at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:61)
at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:31)
at org.activiti.engine.impl.ProcessEngineImpl.<init>(ProcessEngineImpl.java:76)
at org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl.buildProcessEngine(ProcessEngineConfigurationImpl.java:372)
at org.activiti.engine.ProcessEngines.buildProcessEngine(ProcessEngines.java:194)
at org.activiti.engine.ProcessEngines.initProcessEnginFromResource(ProcessEngines.java:167)
at org.activiti.engine.ProcessEngines.init(ProcessEngines.java:98)
at org.activiti.engine.ProcessEngines.getProcessEngine(ProcessEngines.java:224)
at org.activiti.engine.ProcessEngines.getDefaultProcessEngine(ProcessEngines.java:217)
at org.activiti.rest.servlet.ActivitiServletContextListener.contextInitialized(ActivitiServletContextListener.java:32)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:504)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
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:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause:   com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'dbconnect.act_ge_property' doesn't exist
### The error may exist in org/activiti/db/mapping/entity/Property.xml
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: select VALUE_ from ACT_GE_PROPERTY where NAME_ = 'schema.version'

在Windows上,磁盘上的文件名不区分大小写。 但是,在Linux上,它们区分大小写。

在Windows MySQL安装上,将表写入底层磁盘文件时,这种不区分大小写的方式随后传递给数据库应用程序,这意味着表名不区分大小写。

相反,在Linux上,表名区分大小写。

MySQL提供了一个服务器系统变量,始终将表名转换为小写形式:

http://dev.mysql.com/doc/refman/5.0/zh-CN/server-system-variables.html#sysvar_lower_case_table_names

暂无
暂无

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

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