Conflicts while synchronizing
Hi,
I get the following error:1 conflicts while synchronizing.
The number gets larger if I run acceptChanges() after multiple calls to updateRow.
Here is the code:
while (crsResults.next()){
// If the bNum is already in the result tables
// then start updating the results
if (crsResults.getDate(2).equals(crs
.getDate("Originator_Date_Time"))
&& crsResults.getInt(3) == bNum){
foundB =true;
value = crsResults.getInt(4) + crs.getInt("Attempts");
crsResults.updateInt(4, value);
value = crsResults.getInt(5) + crs.getInt("Success");
crsResults.updateInt(5, value);
value = crsResults.getInt(6) + crs.getInt("Blocks");
crsResults.updateInt(6, value);
value = crsResults.getInt(7) + crs.getInt("ERLFL");
crsResults.updateInt(7, value);
value = crsResults.getInt(8) + crs.getInt("Dropped");
crsResults.updateInt(8, value);
value = crsResults.getInt(9) + crs.getInt("HATTS");
crsResults.updateInt(9, value);
value = crsResults.getInt(10) + crs.getInt("HSUCC");
crsResults.updateInt(10, value);
value = crsResults.getInt(11) + crs.getInt("HHO_Fails");
crsResults.updateInt(11, value);
value = crsResults.getInt(12) + crs.getInt("ORLS");
crsResults.updateInt(12, value);
value = crsResults.getInt(29) + crs.getInt("ESWFL");
crsResults.updateInt(29, value);
crsResults.updateRow();
crsResults.acceptChanges(conn);
}
}
// If the Bis not in the results table, then add it
if(!foundB){
crsResults.moveToInsertRow();
crsResults.updateInt(1, sNum);
date2 = crs.getTimestamp("Originator_Date_Time");
crsResults.updateTimestamp(2, date2);
crsResults.updateInt(3, bNum);
crsResults.updateInt(4, crs.getInt("Attempts"));
crsResults.updateInt(5, crs.getInt("Success"));
crsResults.updateInt(6, crs.getInt("Blocks"));
crsResults.updateInt(7, crs.getInt("ERLFL"));
crsResults.updateInt(8, crs.getInt("Dropped"));
crsResults.updateInt(9, crs.getInt("HATTS"));
crsResults.updateInt(10, crs.getInt("HSUCC"));
crsResults.updateInt(11, crs.getInt("HHO_Fails"));
crsResults.updateInt(12, crs.getInt("ORLS"));
crsResults.updateInt(29, crs.getInt("ESWFL"));
crsResults.insertRow();
crsResults.moveToCurrentRow();
crsResults.acceptChanges(conn);
}
}
I can insert rows no problem... but when it comes to updating the rows I get synchronization error. The DB table does not have a primary key. However, I have setPrimaryKeys for the cachedrowset to the first 3 columns which will uniquely identify the row. The first 3 columns together are unique but individually are not. Ie... sNum, Originator_Date_Time, and bNum.
Any help will be greatly appreciated.
PS: I am using MS SQL Server 2000 with MS SQL Server JDBC Drivers SP2 (i've tried sp3 and still same errors).

