org.h2.jdbc.JdbcSQLException: Es posible que la base de datos ya esté en uso: "Bloqueada por otro proceso"

Estoy tratando de seguir la dirección para configurar las páginas verdes del proyecto de muestra de Virgo ( http://www.eclipse.org/virgo/documentation/greenpages-documentation-2.4.0.RELEASE/docs/html/ch02s03.html ). Cuando ejecuto el script de datos obtengo una excepción.

La base de datos se inicia así:

start java -cp ";C:\Users\flowersj\.m2\repository\com\h2database\h2\1.3.161\h2-1.3.161.jar" 
    org.h2.tools.Server

El script para insertar datos que falla en esta línea:

java -cp ";C:\Users\flowersj\.m2\repository\com\h2database\h2\1.3.161\h2-1.3.161.jar"
    org.h2.tools.RunScript 
    -url jdbc:h2:tcp://localhost/~/greenpages-db/greenpages 
    -user greenpages -password pass -script db.sql

La excepción es:

Exception in thread "main" org.h2.jdbc.JdbcSQLException: Database may be already in use: "Locked by another process". Possible solutions: close all other connection(s); use the server mode [90020-161]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
    at org.h2.message.DbException.get(DbException.java:169)
    at org.h2.message.DbException.get(DbException.java:146)
    at org.h2.store.FileLock.getExceptionAlreadyInUse(FileLock.java:435)
    at org.h2.store.FileLock.lockFile(FileLock.java:332)
    at org.h2.store.FileLock.lock(FileLock.java:128)
    at org.h2.engine.Database.open(Database.java:539)
    at org.h2.engine.Database.openDatabase(Database.java:219)
    at org.h2.engine.Database.<init>(Database.java:214)
    at org.h2.engine.Engine.openSession(Engine.java:56)
    at org.h2.engine.Engine.openSession(Engine.java:159)
    at org.h2.engine.Engine.createSessionAndValidate(Engine.java:138)
    at org.h2.engine.Engine.createSession(Engine.java:121)
    at org.h2.server.TcpServerThread.run(TcpServerThread.java:124)
    at java.lang.Thread.run(Unknown Source)

    at org.h2.engine.SessionRemote.done(SessionRemote.java:538)
    at org.h2.engine.SessionRemote.initTransfer(SessionRemote.java:109)
    at org.h2.engine.SessionRemote.connectServer(SessionRemote.java:373)
    at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:267)
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:110)
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:94)
    at org.h2.Driver.connect(Driver.java:72)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at org.h2.tools.RunScript.process(RunScript.java:312)
    at org.h2.tools.RunScript.runTool(RunScript.java:140)
    at org.h2.tools.RunScript.main(RunScript.java:68)

preguntado el 12 de junio de 12 a las 20:06

Bueno, en ese caso, lo más probable es que la base de datos ya esté en uso, tal como dice el mensaje de error... -

1 Respuestas

Descubrí que no puedo tener el servidor Virgo ejecutándose al mismo tiempo que ejecuto el script data.bat. Pensé que se inició en un modo que admitía múltiples conexiones.

Respondido el 13 de junio de 12 a las 13:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.