нужна помощь

svins8 years ago

Здравствуйте, Антон
перестал работать сервер, не определяет два разных трекера
лог


2016-05-23 10:11:14  INFO: Query not provided: database.updateDeviceStatus
2016-05-23 10:11:14  WARN: [2F972D52] error - NullPointerException (ConnectionManager:115 < *:71 < MainEventHandler:73 < ... < ExtendedObjectDecoder:53 < ...)
2016-05-23 10:11:14 DEBUG: [F38BEF7F: 5013 < 192.168.1.253] HEX: 2a48512c3335353438383032303131333437342c56312c2c562c2c4e2c2c452c302e30302c302c2c46464646464646462c66612c31342c313065662c65626134230d0a
2016-05-23 10:11:24 DEBUG: [F38BEF7F: 5013 < 192.168.1.253] HEX: 2a48512c3335353438383032303131333437342c56312c2c562c2c4e2c2c452c302e30302c302c2c46464646464646462c66612c31342c313065662c65626134230d0a
2016-05-23 10:11:34 DEBUG: [F38BEF7F: 5013 < 192.168.1.253] HEX: 2a48512c3335353438383032303131333437342c56312c2c562c2c4e2c2c452c302e30302c302c2c46464646464646462c66612c31342c313065662c65626134230d0a
2016-05-23 10:11:44 DEBUG: [F38BEF7F: 5013 < 192.168.1.253] HEX: 2a48512c3335353438383032303131333437342c56312c2c562c2c4e2c2c452c302e30302c302c2c46464646464646462c66612c31342c313065662c65626134230d0a
2016-05-23 10:11:45  INFO: [9D712245] connected
2016-05-23 10:11:45 DEBUG: [9D712245: 5001 < 192.168.1.253] HEX: 23232c696d65693a3435393731303034303139353132362c413b
2016-05-23 10:11:45 DEBUG: [9D712245: 5001 > 192.168.1.253] HEX: 4c4f4144
2016-05-23 10:11:45  INFO: Query not provided: database.updateDeviceStatus
2016-05-23 10:11:45  WARN: [9D712245] error - NullPointerException (ConnectionManager:115 < BaseProtocolDecoder:104 < ExtendedObjectDecoder:60 < ...)
2016-05-23 10:11:45  INFO: [9D712245] disconnected
2016-05-23 10:11:45  INFO: Query not provided: database.updateDeviceStatus
2016-05-23 10:11:45  WARN: [9D712245] error - NullPointerException (ConnectionManager:115 < *:71 < MainEventHandler:73 < ... < ExtendedObjectDecoder:53 < ...)
2016-05-23 10:11:46  INFO: [B62831B8] connected
2016-05-23 10:11:46 DEBUG: [B62831B8: 5001 < 192.168.1.253] HEX: 23232c696d65693a3435393731303034303139353132362c413b
2016-05-23 10:11:46 DEBUG: [B62831B8: 5001 > 192.168.1.253] HEX: 4c4f4144
svins8 years ago

Скачал по ссылке из этой темы новую версию сервера, но появилась другая проблема

2016-05-23 15:04:21  INFO: Query not provided: database.updateDeviceStatus
2016-05-23 15:04:22  WARN: The value is not set for the parameter number 1. - SQLServerException (... < QueryBuilder:432 < DataManager:460 < DefaultDataHandler:27 < ...)
2016-05-23 15:04:22  INFO: [4D996AAB] id: 459710040195126, time: 2016-05-23 15:04:14, lat: 54.48624, lon: 48.91782, speed: 39.7, course: 5.2
2016-05-23 15:04:25 DEBUG: [4B07F0B5: 5013 < 192.168.1.253] HEX: 2a48512c3335353438383032303131333437342c56312c2c562c2c4e2c2c452c302e30302c302c2c46464646464646462c66612c31342c313065662c66623632230d0a
2016-05-23 15:04:35 DEBUG: [4B07F0B5: 5013 < 192.168.1.253] HEX: 2a48512c3335353438383032303131333437342c56312c2c562c2c4e2c2c452c302e30302c302c2c46464646464646462c66612c31342c313065662c66623632230d0a
Anton Tananaev8 years ago

У вас какая-то проблема с конфигурацией. Подозреваю что вы используете старые параметры в SQL запросах.

svins8 years ago

использую Ваш запрос данный Вами


<entry key='database.selectDevicesAll'>
        SELECT imeiNumber AS id, imeiNumber AS uniqueId FROM MSDevice WHERE ISNUMERIC(imeiNumber) = 1;
    </entry>

    <entry key='database.insertPosition'>
        BEGIN TRAN;
            DECLARE @accountID VARCHAR(32);
            DECLARE @deviceID VARCHAR(32);
            DECLARE @deviceTime BIGINT = DATEDIFF(S, '1970-01-01 00:00:00', DATEADD(HH, DATEDIFF(HH, GETDATE(), GETUTCDATE()), :time));
            DECLARE @databaseTime BIGINT = DATEDIFF(S, '1970-01-01 00:00:00', GETUTCDATE());

            UPDATE MSDevice SET lastValidLatitude = :latitude, lastValidLongitude = :longitude, lastGPSTimestamp = @deviceTime, lastUpdateTime = @databaseTime WHERE imeiNumber = :deviceId;
            SELECT @accountID = accountID, @deviceID = deviceID FROM MSDevice WHERE imeiNumber = :deviceId;
            INSERT INTO MSEventData (accountID, deviceID, timestamp, statusCode, latitude, longitude, speedKPH, heading, altitude, rawData, creationTime, address)
            VALUES (@accountID, @deviceID, @deviceTime, 0, :latitude, :longitude, :speed * 1.852, :course, :altitude, '', @databaseTime, :address);
        COMMIT TRAN;
    </entry>
Anton Tananaev8 years ago

Замените :time на :fixTime.

svins8 years ago

Антон, спасибо! все заработало

svins8 years ago

Здравствуйте,
Антон, в базу данные попадают на карте отражаются но в логе еще какая-то ошибка посмотрите ...


2016-05-30 16:25:17 DEBUG: [B9B149B6: 5001 < 192.168.1.253] HEX: 3435393731303034303139353132363b
2016-05-30 16:25:17 DEBUG: [B9B149B6: 5001 > 192.168.1.253] HEX: 4f4e
2016-05-30 16:25:17  INFO: Query not provided: database.updateDeviceStatus
2016-05-30 16:25:28 DEBUG: [08FD1541: 5001 < 192.168.1.253] HEX: 3836383638333032323736373031303b
2016-05-30 16:25:28 DEBUG: [08FD1541: 5001 > 192.168.1.253] HEX: 4f4e
2016-05-30 16:25:28  INFO: Query not provided: database.updateDeviceStatus
2016-05-30 16:25:28 DEBUG: [B9B149B6: 5001 < 192.168.1.253] HEX: 696d65693a3435393731303034303139353132362c747261636b65722c3136303533303136323532372c2c462c3133323532332e3030302c412c353532302e343139362c4e2c30343833392e383835382c452c33372e31352c33332e33383b
2016-05-30 16:25:28  INFO: Query not provided: database.updateDeviceStatus
2016-05-30 16:25:28  WARN: The statement must be executed before any results can be obtained. - SQLServerException (... < QueryBuilder:434 < DataManager:460 < DefaultDataHandler:27 < ...)
2016-05-30 16:25:28  INFO: [B9B149B6] id: 459710040195126, time: 2016-05-30 16:25:23, lat: 55.34033, lon: 48.66476, speed: 37.2, course: 33.4
Anton Tananaev8 years ago

Похоже что проблема в том что ваш запрос не возвращяет сгенерированный идентификатор записи. Соответственно getGeneratedKeys возвращает ошибку.

svins8 years ago

игнорировать? или Вы подскажите как можно устранить?

Anton Tananaev8 years ago

Думаю что врятли это можно игнорировать. Нужно что-то делать с запросом.

svins8 years ago

Вот текст запроса. Что здесь можно и нужно поправить?


    <entry key='database.selectDevicesAll'>
        SELECT imeiNumber AS id, imeiNumber AS uniqueId FROM MSDevice WHERE ISNUMERIC(imeiNumber) = 1;
    </entry>

    <entry key='database.insertPosition'>
        BEGIN TRAN;
            DECLARE @accountID VARCHAR(32);
            DECLARE @deviceID VARCHAR(32);
            DECLARE @deviceTime BIGINT = DATEDIFF(S, '1970-01-01 00:00:00', DATEADD(HH, DATEDIFF(HH, GETDATE(), GETUTCDATE()), :fixTime));
            DECLARE @databaseTime BIGINT = DATEDIFF(S, '1970-01-01 00:00:00', GETUTCDATE());

            UPDATE MSDevice SET lastValidLatitude = :latitude, lastValidLongitude = :longitude, lastGPSTimestamp = @deviceTime, lastUpdateTime = @databaseTime WHERE imeiNumber = :deviceId;
            SELECT @accountID = accountID, @deviceID = deviceID FROM MSDevice WHERE imeiNumber = :deviceId;
            INSERT INTO MSEventData (accountID, deviceID, timestamp, statusCode, latitude, longitude, speedKPH, heading, altitude, rawData, creationTime, address)
            VALUES (@accountID, @deviceID, @deviceTime, 0, :latitude, :longitude, :speed * 1.852, :course, :altitude, '', @databaseTime, :address);
        COMMIT TRAN;
    </entry>
Anton Tananaev8 years ago

К сожалению не знаю что можно поправить. Я бы начал с простого INSERT и посмотрел работает ли или нет.

Возможно какие-то изменения в коде требуются чтобы ваш SQL скрипт работал.