如果设置了本机库位置,则Mulesoft sqljdbc项目将无法运行

时间:2017-05-04 19:50:39

标签: mule mule-studio anypoint-studio sqljdbc mule-esb

我刚刚开始学习Mulesoft,并希望整理一个简单的演示,该演示使用sqljdbc通过Windows身份验证命中SQL Server数据库。

我引用的文章:

Connecting to MS SQL Server with MuleSoft

Using Database Connector with Microsoft SQL Server

软件详情:

Mule Server 3.8.4 EE

Anypoint studio 6.2.4

问题:

如果我将sqljdbc_auth.dll的位置添加为sqljdbc42.jar的本机库位置,则该项目将无法运行。

症状:

  • 当我点击运行项目时,没有控制台输出或错误。我看到右下角的加载条大约一秒钟然后什么都没有。

  • 如果从本机库位置删除dll路径,项目将运行。当然,尝试点击数据库时会出错。

  • 设置本机库路径时,数据库连接器会通过连接测试。未设置时失败。

  • 我假设x64是正确使用的dll。我的电脑是x64,当我使用x86 dll时数据库连接器连接测试失败。

  • 此行为对于任何项目都是一致的,无论它是否具有数据库连接器。对于简单的“hello world”类型演示,会出现相同的行为。

如果有人有任何建议我会非常感激。如果我可以通过添加更多详细信息来澄清任何内容或提供帮助,请告知我们。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,与Mulesoft签了票并得到了解决方法。

首先,您需要删除对sqljdbc_auth.dll的引用。因此,请从sqljjdbc42.jar的“本机库位置”中删除它。

接下来,您需要将auth DLL的引用添加到项目的“运行配置”中。为此,请执行以下操作:

  1. 右键单击您的项目,选择“运行方式/运行配置...”
  2. 在“参数”选项卡上,将以下参数添加到“VM参数:”
  3. -Djava.library.path =“[sqljsdb_auth.dll文件的路径]”(如果路径包含空格,请在路径周围使用引号)

    1. “应用”更改并关闭对话框,然后试一试,看看它是否适合您。
    2. 这对我有用,我的项目构建和部署,我可以使用SQL Server集成身份验证进行调试和运行它。我不知道将这个添加到运行配置的含义是什么,但它似乎对我来说工作正常。如果你的构建路径参数中已有东西,那么你将不得不弄清楚如何添加多个项目,但我不知道如何做到这一点。