Имеется Windows Server 2016, Microsoft SQL Server 2014 Express, Postgres 14.4, ЛЭРС 3.47.4 .
Для MSSQL включены протоколы Общей памяти, Именованных каналов, TCP/IP.
Воспользовались инструкцией для переноса Утилита для переноса данных ЛЭРС УЧЁТ с SQL Server в БД Postgres
Миграция прошла успешно, однако приборы не опрашиваются, со старой базой всё работает корректно.
Согласно пункту 2. Правил оказания услуг технической поддержки пользователей ЛЭРС УЧЕТ поддержка оказывается только при использовании текущей (последней) версии системы, на данный момент 3.47.5
Пожалуйста обновитесь до текущей версии ЛЭРС УЧЕТ. Если ситуация повторится в текущей версии, опишите более подробно в чем она заключается и приложите журналы опроса текущей версии, в которых данная проблема отражена.
Обновились до 3.47.5, заново перенесли базу при помощи утилиты - проблема та же, приборы не опрашиваются. Логи во вложении. Такие данные как адреса объектов и номера телефонов заменены “*”
Журнал опроса CSD7.xlsx (10.4 КБ)
Журнал опроса CSD3.xlsx (10.4 КБ)
dump.CSD7.2022-08-11.log.gz (7.1 КБ)
dump.CSD3.2022-08-11.log.gz (7.0 КБ)
Из приложенного вами журнала видно, что диспетчерский модем не успевает ответить на команду вызова приборного модема, с которым он пытается связаться. При этом в дампе обмена зафиксирована ошибка “NO CARRIER”. Судя по всему модем возвращает данный ответ немного позже, чем вышел таймаут.
Вы можете последовать рекомендации, которая присутствует в тексте ошибки “Возможно стоит увеличить таймаут в свойствах подключения”. При этом в журнале опроса после увеличения таймаута скорее всего будет фигурировать ошибка “NO CARRIER”, фигурирующая в дампе.
Для решения непосредственно ошибки “NO CARRIER”, пожалуйста, руководствуйтесь нашей статьей Ошибка установки соединения при опросе через CSD.
P.S. Эта ситуация ни как не связана с миграцией на Postgres. Проблема именно в модеме.
Спасибо за ответ, обязательно воспользуюсь рекомендациями.
Однако, хотелось бы отметить, если сменить базу на старую - всё работает исправно. И до сих пор, меняю базу - приборы работают без проблем. Отсюда возникает вопрос, почему в этом случае проблема в приборе?
С диспетчерским модемом взаимодействует Служба опроса ЛЭРС УЧЕТ, которой Сервер дает команду на опрос того или иного прибора через заданное подключение. Именно Служба опроса посылает модему команду звонка и ждет на нее ответ. Она ни как не связана с БД и не взаимодействует с ней. Она взаимодействует только с Сервером ЛЭРС УЧЕТ. С БД взаимодействует Сервер ЛЭРС УЧЕТ.
И наоборот Сервер ЛЭРС УЧЕТ не взаимодействует с модемами. Он взаимодействует только с Службой опроса ЛЭРС УЧЕТ, отдавая ей задание на опрос прибора через какое либо подключение. А Служба опроса по завершении опроса прибора возвращает Серверу результат.
То есть смена БД, с которой взаимодействие Сервер ЛЭРС УЧЕТ, ни как не может влиять на скорость ответа модема Службе опроса ЛЭРС УЧЕТ, потому как эти процессы совершенно не связаны между собой. Если только Postres как либо не влияет на работу COM-портов, к которым подключены модемы, но нам такие случаи неизвестны.
Увеличили тайм аут до максимального - ситуация ровно такая же. Логи во вложении.
Спасибо за пояснение схемы работы. Однако, указанная информация никак не объясняет, почему с другой базой всё работает исправно.
dump.CSD3.2022-08-11.log.gz (24.0 КБ)
dump.CSD7.2022-08-11.log.gz (13.6 КБ)
Журнал опроса CSD3.xlsx (10.3 КБ)
Журнал опроса CSD7.xlsx (10.4 КБ)
В результате перенос опять не удался. Базу пришлось вернуть обратно на Microsoft SQL Server 2014 Express, вместо Postgres.
Логи опроса во вложении. Сначала ещё раз сняли данные на постгрессе, после чего сменили базу на Microsoft SQL Server 2014 Express,и всё заработало. Оба архива направляю
MSSQL.zip (71.0 КБ)
postgresql.zip (60.5 КБ)
Присланные журналы невозможно полноценно проанализировать, так как вы заменили всю ключевую информацию на “*”. Пожалуйста, пришлите исходные журналы.
Также просьба к другим пользователям, перешедшим на Postgres, описать в данной теме сталкивались ли они с подобной проблемой.
Лог в оригинале направили в личном сообщении
На тестовой машине с установленным ЛЭРС УЧЕТ, настроенным на SQL Server, был установлен Postgres, после чего произведена миграция данных с SQL Server на Postgres с последующей настройкой Сервера ЛЭРС УЧЕТ на Postgres. Опрос вашего прибора учета после миграции прошел успешно. Описываемая вами ситуация у нас не воспроизводится.
Судя по тому, что другие пользователи, производившие миграцию на Postgres, также не столкнулись с подобной ситуацией (во всяком случае никто не писал об этом), данная ситуация возникает только на вашем компьютере и связана она судя по всему с особенностью подключения диспетчерского модема (модемов). Предположу, что фигурирующие в ваших журналах порты являются виртуальными и созданы они были программно с помощью стороннего ПО. Если это так, судя по всему работа Postgres как то влияет на их работу.
А проблема с одним прибором, или со всеми?
Со всеми. До миграции все приборы работают, после миграции отваливаются также абсолютно все, меняем базу обратно и снова все работают
Не совсем ясно на чём основано данное предположение. Из того, что на Вашей тестовой машине всё в порядке не может следовать, что неисправность со стороны ПО ЛЭРС исключена, или проблема в утилите или требуются ещё какие-либо доп настройки, о которых не было сказано на сайте или форуме.
Все приборы настраивались через утилиту, поставляемую с ЛЭРС, после миграции на постгресс также пробовали их перенастроить - результат нулевой. Перенастройка проходит успешно, прибор не опрашивается.
Уточните, пожалуйста, фигурирующие в ваших журналах COM-порты диспетчерских модемов имеют программное происхождение или они существуют физически и модемы к ним подключены физически?
Это предположение основано на том, что если COM-порт создано программно и модем подключен программно, например, по сети, то теоретически одна программа может вполне мешать работе другой программе.
Это действительно только предположение. Повторюсь, у нас после миграции ваш прибор через наш диспетчерский модем, который был заведен до миграции, успешно опрашивается.
Все модемы подключены физически к серверу. Подключение модемов к серверу происходит через переходник USB-RS-232 (Кабель FTDI USB на 4 порта RS232 4 * DB9 к USB)
Попробуйте отключить все модемы, кроме одного, и попытаться произвести опрос через этот модем.
Хорошо, спасибо, обязательно попробуем через 2 недели (в связи с отпуском не могу проделать это в ближайшее время). Тему прошу, пока, не закрывать.
Хорошо, ожидаем результаты проверки.
Удалось ли решить проблему? Сам столкнулся с ней при переходе на Linux/Postgres.