Sorry, my fault! The problem was the "time" between perform the SHUTDOWN and the VALIDATION.
I just add a 1 second "sleep" between the shutdown and validate, and it works! FBMaintenanceManager mgr = ...... ; mgr.shutdownDatabase(FBMaintenanceManager.SHUTDOWN_FORCE, 0); Thread.sleep(1000); // holy sleep mgr.validateDatabase(FBMaintenanceManager.VALIDATE_READ_ONLY); Em seg., 25 de nov. de 2019 às 11:20, Roberto Vieweg < [email protected]> escreveu: > I was trying to shutdown a Firebird 2.1 using the Jaybird 3.x to validate > the database. > > I wasn't abble to shutdown it like "gfix -shut multi -force 0 > remote_server_host:database" > > So, when I perform the validate using the jaybird service I got this: > > java.sql.SQLException: bad parameters on attach or create database; > secondary server attachments cannot validate databases [SQLState:HY000, ISC > error code:335544325] > at > org.firebirdsql.gds.ng.FbExceptionBuilder$Type$1.createSQLException(FbExceptionBuilder.java:498) > at > org.firebirdsql.gds.ng.FbExceptionBuilder.toFlatSQLException(FbExceptionBuilder.java:299) > at > org.firebirdsql.gds.ng.wire.AbstractWireOperations.readStatusVector(AbstractWireOperations.java:135) > at > org.firebirdsql.gds.ng.wire.AbstractWireOperations.processOperation(AbstractWireOperations.java:199) > at > org.firebirdsql.gds.ng.wire.AbstractWireOperations.readSingleResponse(AbstractWireOperations.java:166) > at > org.firebirdsql.gds.ng.wire.AbstractWireOperations.readResponse(AbstractWireOperations.java:150) > at > org.firebirdsql.gds.ng.wire.AbstractWireOperations.readGenericResponse(AbstractWireOperations.java:252) > at > org.firebirdsql.gds.ng.wire.AbstractFbWireService.readGenericResponse(AbstractFbWireService.java:138) > at > org.firebirdsql.gds.ng.wire.version10.V10Service.startServiceAction(V10Service.java:212) > at > org.firebirdsql.management.FBServiceManager.executeServicesOperation(FBServiceManager.java:280) > at > org.firebirdsql.management.FBMaintenanceManager.validateDatabase(FBMaintenanceManager.java:239) > at > br.com.jjw.besser.atualizador.client.utils.firebird.FirebirdMaintenanceHelper.validate(FirebirdMaintenanceHelper.java:209) > at > br.com.jjw.besser.atualizador.client.utils.firebird.FirebirdMaintenanceHelper.main(FirebirdMaintenanceHelper.java:261) > Caused by: org.firebirdsql.jdbc.FBSQLExceptionInfo: bad parameters on > attach or create database > > But, if I use the gfix command: gfix -shut multi -force 0 remote:database > the validation performs! > > Em seg., 25 de nov. de 2019 às 10:11, Mark Rotteveel [email protected] > [firebird-support] <[email protected]> escreveu: > >> >> >> On 25-11-2019 13:52, Roberto Vieweg [email protected] >> [firebird-support] wrote: >> > I'm trying to use Jaybird to validate a database before start the >> > update process of my database definition. >> > >> > This validation is necessary to prevent the update of a corrupted >> database. >> >> What is the nature of your problem. If your problem is with Jaybird, >> then please ask on the firebird-java mailing list, and make sure to >> provide a minimal but reproducible example and errors (if any) or a >> description of the problem. >> >> Mark >> -- >> Mark Rotteveel >> >> >
