I am trying to set up a test where I can synchronize two remote databases simultaneously with the consolidated DB. So in my Java application, I use two threads and each of the thread would then execute the SQL statement, "SYNCHRONIZE PROFILE myprofile", which in turn will start the dbmlsync process.
The problem I've encountered is that when the second thread started, I'd always get the following error:
java.sql.SQLException: [Sybase][JDBC Driver][SQL Anywhere]The database server failed to shut down the dbmlsync server at sybase.jdbc4.sqlanywhere.IIStatement.execute(Native Method) at sybase.jdbc4.sqlanywhere.IStatement.execute(IStatement.java:327) at com.sap.mobilink.SyncDB.run(SyncPerformanceTest.java:34) at java.lang.Thread.run(Unknown Source)
If I run the sync sequentially, it works, but not when I try to start the sync simultaneously. Does anyone know why it's the case?
Please show us all the SQL statements and options involved in this operation. I'm guessing that two separate dbmlsync processes are needed if you want to do two syncs in parallel, with different ports for communicating between your application and the dbmlsync processes; e.g., PORT 4433 and PORT [something-else]... the symptom seems to be saying some process is confused :)
answered 31 Aug '14, 17:24