Загрузить таблицы базы данных из MySQL - PullRequest
3 голосов
/ 15 января 2020

Я работаю над моделированием цепочки поставок крови и создал и импортировал несколько таблиц для управления основными данными различных групп агентов, таких как центры обработки крови, центры тестирования, больницы и так далее. Эти таблицы содержат имя указанного агента и координаты широты / долготы.

Все эти таблицы являются частью базы данных MySQL, которую я подключил к AnyLogi c с ее интерфейсом и, как я уже сказал, импортировал их. Однако пока все хорошо, когда я хочу создать группы агентов для каждой записи базы данных и назначить параметры агентов соответствующим полям таблицы, AnyLogi c не может присвоить имя (Varchar в MySQL, String в импортированной базе данных AnyLogi c) с именем параметра типа String агента. Любой другой тип работает, только строки доставляют мне неприятности.

База данных в AnyLogi c
Database in AnyLogic

Агент и параметр
Agent and parameter

Создание населения из базы данных
Create population from database

В качестве идентификатора, когда я копирую все содержимое базы данных в Excel и импортирую лист Excel, он отлично работает, он просто борется с импортированными базами данных формы MySQL, но база данных в AnyLogi c выглядит точно так же, независимо от способа импорта.

1 Ответ

1 голос
/ 16 января 2020

Выглядит как ошибка либо в свойствах совокупности (например, типы совместимы, просто думает, что они не совместимы), либо в импорте MySQL (например, некоторые специальные символы Юникода в этом столбце вызывают импорт в дать ему странный тип HSQLDB, который можно настроить, но затем не преобразовать в String - база данных AnyLogi c - это обычная база данных HSQLDB). Чтобы исключить первое, попробуйте не устанавливать параметр name в свойствах совокупности, а затем прочитать все строки при запуске модели (воспользуйтесь мастером вставки запроса базы данных) и затем попытаться назначить параметр имени. (Это также может дать вам более полезное исключение / сообщение об ошибке ...)

(я не могу легко настроить MySQL DB для подтверждения этого. Стоило бы также попробовать на минимальном примере модель с таблицей MySQL, имеющей только этот столбец 'string', а затем отправка ее в службу поддержки AnyLogi c, если проблема не устранена.)

...