首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Anylogic:本地数据库连接

Anylogic:本地数据库连接
EN

Stack Overflow用户
提问于 2016-12-21 22:32:03
回答 5查看 1.9K关注 0票数 1

我在这里真的很挣扎。Anylogic给我提供了几天的数据库连接问题,直到现在支持才能帮助我

我在这里得到的是一个运行最新Win10和Anylogic7.3Professional的windows mashine

我的Anylogic模型是完全本地的,在我尝试添加一个数据库表之前,它可以完美地运行。如上所述,每当我尝试插入一个表时,Anylogic都会要求我重新连接数据库。按下Connect按钮不执行任何操作,但会再次显示相同的窗口。按cancel将显示以下错误消息:

连同Anylogic支持,我已经尝试禁用杀毒软件,向他们发送日志等。到目前为止没有任何帮助。我已经尝试重新安装整个程序,包括彻底清理(所有.Anylogic文件夹、文件等)。

在这一点上,我不知道还能做什么。我希望你们任何人都能帮上点忙。

代码语言:javascript
复制
!ENTRY org.eclipse.ui 4 0 2016-12-21 13:48:02.168
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.RuntimeException: java.sql.SQLException: Connection timed out
    at com.anylogic.objectmodel.commands.database.AbstractDatabaseCommand.execute(Unknown Source)
    at com.anylogic.objectmodel.commands.CompoundCommand.execute(Unknown Source)
    at com.anylogic.objectmodel.commands.BasicCommandStack.execute(Unknown Source)
    at com.anylogic.objectmodel.commands.CommandStack.execute(Unknown Source)
    at com.anylogic.properties.widget.WidgetBuilder$86.n(Unknown Source)
    at com.anylogic.properties.widget.WidgetBuilder$86.onAdd(Unknown Source)
    at com.anylogic.properties.widget.base.list.ListWidget.j(Unknown Source)
    at com.anylogic.components.button.ButtonDecorator.a(Unknown Source)
    at com.anylogic.components.button.ButtonDecorator.a(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at com.anylogic.application.AnyLogicApplication.start(Unknown Source)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:236)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
Caused by: java.sql.SQLException: Connection timed out
    at com.anylogic.database.DatabaseManager.getConnection(Unknown Source)
    at com.anylogic.database.DatabaseManager.getConnection(Unknown Source)
    at com.anylogic.database.DatabaseManager.a(Unknown Source)
    at com.anylogic.database.DatabaseManager.createColumn(Unknown Source)
    at com.anylogic.database.DatabaseManager.createColumn(Unknown Source)
    at com.anylogic.objectmodel.commands.database.CreateColumnCommand.doExecute(Unknown Source)
    ... 35 more
EN

回答 5

Stack Overflow用户

发布于 2019-12-05 18:06:00

我也面临着同样的问题。我不知道为什么会发生这种情况,但是存储模型的时候出了点问题。但我成功地通过以下过程重新连接:

文件复制项目的整个文件夹并将其存储在新文件夹中的某个位置,删除文件.alp-

  • ,然后在文本编辑器

中打开重命名的.alp-

在该文件中,您将找到类似以下内容:

代码语言:javascript
复制
*************************************************
	         AnyLogic Project File 
*************************************************	         
-->
<AnyLogicWorkspace WorkspaceVersion="1.9" AnyLogicVersion="8.5.1.201910011746" AlpVersion="8.4.9">
<Model>
	<Id>1570541727194</Id>
	<Name><![CDATA[20191030-02-SBB-DAT]]></Name>
	<EngineVersion>6</EngineVersion>
	<JavaPackageName><![CDATA[_20191008_02_sbb_dat]]></JavaPackageName>
	<ModelTimeUnit><![CDATA[Minute]]></ModelTimeUnit>
	<ActiveObjectClasses>
		<!--   =========   Active Object Class   ========  -->

现在查找文件中的所有字符串等于packageName,在我的例子中是:

_20191008_02_sbb_dat

并在mycase中将其替换为您的.alp文件的名称:

sbb_dat。

它应该看起来像这样:

代码语言:javascript
复制
<AnyLogicWorkspace WorkspaceVersion="1.9" AnyLogicVersion="8.5.1.201910011746" AlpVersion="8.4.9">
<Model>
	<Id>1570541727194</Id>
	<Name><![CDATA[SBB-DAT]]></Name>
	<EngineVersion>6</EngineVersion>
	<JavaPackageName><![CDATA[sbb_dat]]></JavaPackageName>
	<ModelTimeUnit><![CDATA[Minute]]></ModelTimeUnit>
	<ActiveObjectClasses>
		<!--   =========   Active Object Class   ========  -->

之后,存储并关闭该文件,然后使用AnyLogic打开它。在我的例子中,这很有帮助。

票数 1
EN

Stack Overflow用户

发布于 2020-05-01 02:46:25

我也遇到过这个问题。如果您进入模型的数据库文件夹并删除锁文件和以前的数据库文件夹,它将打开而不会抛出该错误。

票数 1
EN

Stack Overflow用户

发布于 2021-11-12 04:46:15

我只是得到了同样的错误,并解决了如下:(灵感来自@cogijl答案)

  1. 关闭模型和Anylogic。
  2. 转到模型文件夹并删除该模型的文件夹。这将再次生成错误,但会产生一些不同的结果:您现在可以使用数据库部分中的“删除数据库”选项在数据库中添加或删除数据库中的数据库(表)。
  3. 使用选项"Create or table..."
  4. Make
  5. “再次添加表,并确保使用与以前相同的名称导入这些表,否则一切都将崩溃。
  6. 完成后,模型将再次运行。

您将失去的唯一东西,是导出设置,但很容易再次设置它们。

希望这对其他人有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41265201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档