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
>> 
>>
>

Reply via email to