First thing to check is, is the Datalogic connecting correctly to the right IP address - check the config.xml - check the url in the app.log / config.xml is correct and connects
If hosted, check the records on the mobile_bucket file have an assigned bucket_session_no. Then device_id will be the branch_no
select top 10 * from mobile_bucket where bucket_session_no is null and device_id = <branch_no>
Basically what happens sometimes is that the records get sent twice. The second time it fails because the guid on the HHT device is the key for mobile_bucket and hence its a duplicate.
If you can get a copy of the TraxsMobile.lte,, copy the guids into an excel spreadsheet and reformat into a query as follows:
select * from mobile_data_det d inner join mobile_bucket b on b.product = d.product inner join mobile_data_hdr h on h.mobile_data_id = d.mobile_data_id where bucket_session_no = <mobile_bucket on db> from and date_time > getdate()-1 and branch_no = ? and guid in (<guids>)
This will give you the mobile_data_id that the download was processed under to prove it is already present.
If this is case then the database can be rebuilt on the HHT device and then continue to use as normal
If necessary run the following to fudge (non-hosted version):
Error on Datalogic stocktake
SELECT TOP 1000 * FROM [ART_TRAXS_HHT].[dbo].[TraxsBucket] order by createddatetime desc DECLARE @Success bit, @ErrorNo int, @Message varchar(50) EXEC [dbo].[traxs_Bucket_SessionForDevice] @DeviceId = 1, @UserNo = 1, @Description = 'Rescued', @Success = @Success OUTPUT, @ErrorNo = @ErrorNo OUTPUT, @Message = @Message OUTPUT