Page 1 of 1

Error al intentar migrar base de datos MySQL

PostPosted:Mon Dec 31, 2012 3:47 pm
by muyprax
Hola que tal, les cuento que estoy intentando utilizar OpenKM 6.2.1 con MySQL5 en windows 7 y al loguear en el servidor me sale el siguiente error:

Class: org.apache.jasper.JasperException
Message: javax.servlet.ServletException: com.openkm.core.DatabaseException: could not execute query

Los archivos de configuración están asi:

OpenKM.cfg
Code: Select all
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.hbm2ddl=create
Server.xml
Code: Select all
...
<Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
              
    <Resource name="jdbc/OpenKMDS" auth="Container" type="javax.sql.DataSource"
            maxActive="100" maxIdle="30" maxWait="10000" validationQuery="select 1 from INFORMATION_SCHEMA.SYSTEM_USERS"
            username="sa" password="" driverClassName="org.hsqldb.jdbcDriver"
            url="jdbc:hsqldb:${catalina.base}/repository/okmdb"/>

    <Resource name="jdbc/OpenKMDS" auth="Container" type="javax.sql.DataSource"
            maxActive="100" maxIdle="30" maxWait="10000" validationQuery="select 1"
            username="openkm@localhost" password="password" driverClassName="com.mysql.jdbc.Driver"
            url="jdbc:mysql://localhost:3306/okmdb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8"/>
            
    <Resource name="mail/OpenKM" auth="Container" type="javax.mail.Session"
            mail.smtp.host="localhost" mail.from="testing@openkm.com"/>
...
OpenKM.xml
Code: Select all
...
<security:authentication-manager alias="authenticationManager">
    <security:authentication-provider>
      <security:password-encoder hash="md5"/>
      <security:jdbc-user-service 
        data-source-ref="dataSource"
        users-by-username-query="select usr_id, usr_password, 1 from OKM_USER where usr_id=? and usr_active='T'"
        authorities-by-username-query="select ur_user, ur_role from OKM_USER_ROLE where ur_user=?"/>
    </security:authentication-provider>
  </security:authentication-manager>
</beans:beans>
...
el único problema que tuve fue que nunca encontre el archivo my.cnf asi que lo cree yo mismo y lo dejé en la carpeta de MySQL server , en la raiz de mi pc(disco C) y en C:\Windows ( esto lo hice porque según los manuales de mysql ese archivo debería ir en una de esas 3 partes pero en mi caso no estaba en ninguna...)
Y por último, al momento de crear la base de datos utilicé exactamente el mismo código del wiki con excepción de la contraseña por supuesto y puedo asegurar que tanto en server.xml la clave de la base de datos es la misma!

Muchas gracias

Re: Error al intentar migrar base de datos MySQL

PostPosted:Tue Jan 01, 2013 6:22 pm
by jllort
Es probable que en windows el nombre del fichero de configuración no sea exactamente el mismo.

La configuracion del server.xml no es correcta dado que no has comentado la configuración por hypersonic y esto fijo te dará problemas
Code: Select all
<Resource name="jdbc/OpenKMDS" auth="Container" type="javax.sql.DataSource"
            maxActive="100" maxIdle="30" maxWait="10000" validationQuery="select 1 from INFORMATION_SCHEMA.SYSTEM_USERS"
            username="sa" password="" driverClassName="org.hsqldb.jdbcDriver"
            url="jdbc:hsqldb:${catalina.base}/repository/okmdb"/>
Otro detalle, el nombre del usuario es openkm no openkm@localhost ( el @localhost se pone para indicar desde que máquina tiene privilegios para acceder es decir solo podrás conectar con el usuario openkm desde el mismo servidor )

Re: Error al intentar migrar base de datos MySQL

PostPosted:Wed Jan 02, 2013 4:16 pm
by muyprax
Gracias por responder, ya solucioné el problema de la base de datos...pero ahora , no me lo puedo creer que nuevamente(hace unas semanas era problema solucionado) no puedo previsualizar documentos, puse exactamente los mismos parámetros que tenía antes y que me funcionaban perfecto y ahora siempre me sale el mismo error, te adjunto los parámetros y el error para ver si puedes ayudarme porfavor.

system.openoffice.path String C:\Program Files\OpenOffice.org 3

system.imagemagick.convert String C:\\ImageMagick\\convert.exe

system.swftools.pdf2swf String C:\swftools\pdf2swf.exe -T 9 -f ${fileIn} -o {fileOut}

y el error es el siguiente en el .log de catalina:
Code: Select all
2013-01-02 13:03:37,722 [OfficeTaskThread-1] INFO  org.artofsolving.jodconverter.office.PooledOfficeManager - reached limit of 5 maxTasksPerProcess: restarting
2013-01-02 13:03:37,732 [MessageDispatcher] INFO  org.artofsolving.jodconverter.office.OfficeConnection - disconnected: 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1'
2013-01-02 13:03:37,979 [OfficeProcessThread-0] INFO  org.artofsolving.jodconverter.office.ManagedOfficeProcess - process exited with code 0
2013-01-02 13:03:38,045 [OfficeProcessThread-0] INFO  org.artofsolving.jodconverter.office.OfficeProcess - starting process with acceptString 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1' and profileDir 'C:\openkm\tomcat\temp\.jodconverter_socket_host-127.0.0.1_port-2002'
2013-01-02 13:03:38,065 [OfficeProcessThread-0] INFO  org.artofsolving.jodconverter.office.OfficeProcess - started process; pid = 3524
2013-01-02 13:03:38,578 [OfficeProcessThread-0] INFO  org.artofsolving.jodconverter.office.OfficeConnection - connected: 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1'
2013-01-02 13:03:39,025 [http-bio-0.0.0.0-8080-exec-8] ERROR com.openkm.servlet.frontend.ConverterServlet - C:\openkm\tomcat\repository\cache\pdf\d7d9468a-9bb2-44bf-8dec-aa7f1a79e47d.pdf (El sistema no puede encontrar el archivo especificado)
java.io.FileNotFoundException: C:\openkm\tomcat\repository\cache\pdf\d7d9468a-9bb2-44bf-8dec-aa7f1a79e47d.pdf (El sistema no puede encontrar el archivo especificado)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(FileInputStream.java:120)
	at com.openkm.util.FileUtils.copy(FileUtils.java:177)
	at com.openkm.util.WebUtils.sendFile(WebUtils.java:316)
	at com.openkm.servlet.frontend.ConverterServlet.service(ConverterServlet.java:133)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
	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)
"el sistema no puede encontrar el archivo especificado"

otra cosa que noté es que cuándo desactivo el valor de pdf2swf genera un archivo en repository/cache/pdf pero no se puede leer. Y para finalizar , hice las pruebas con las aplicaciones respectivas (abrir .docx en openoffice y transformarlo a pdf ; transformar .docx a pdf desde OpenKM y transformar de pdf a swf con pdf2swf) y todo funciona PERFECTO, el problema es al integrarlo con OpenKM :/

Re: Error al intentar migrar base de datos MySQL

PostPosted:Thu Jan 03, 2013 6:37 pm
by jllort
Fíjate que te falta un dolar en el segundo parametro del pdf2swf