anylogic错误:不是unqiue数据库值

时间:2017-04-11 21:20:26

标签: java database anylogic event-simulation

在Anylogic离散事件模型中,我试图根据我创建的数据库表设置到达率和每次到达的代理数量。该表包含材料进入的日期和时间列,然后是分配给每种材料的唯一代码和订单号。每种材料只有一个代码,但每天收到几个订单号。此外,每天同时收到多种材料。当我设置Source来从表中读取数据时,我在运行时遇到错误: 模型创建时出错: image description here 根: 不是唯一的数据库值!

我无法找到解决此错误的Anylogic的任何帮助。

1 个答案:

答案 0 :(得分:0)

我向Any Logic支持小组提出了同样的问题并得到了以下答案。

参数"到达日期"需要指定包含到达日期的表列。然后,一个"来源" block将逐行读取包含列的表,并在当前行的日期生成一个代理。 当您指定具有特定条件的数据库引用时," Source" block将生成一个匹配条件的代理。您收到错误,因为有多个行匹配表中的条件。 为了实现您的任务,您可以根据您的表创建一个视图,该视图的定义类似于数据库引用:

SELECT \all the columns you need for your query

tabelle1.all_id, 
tabelle1.date, 
tabelle1.maschine 

FROM \the reference table 

tabelle1 

WHERE \with the WHERE you can specify which rows should generate an agent 

tabelle1.maschine = 'M31'

之后,只需告诉"来源"阻止根据视图的到达日期生成代理。

希望这对你也有帮助。