我刚刚开始学习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”类型演示,会出现相同的行为。
如果有人有任何建议我会非常感激。如果我可以通过添加更多详细信息来澄清任何内容或提供帮助,请告知我们。
答案 0 :(得分:1)
我遇到了同样的问题,与Mulesoft签了票并得到了解决方法。
首先,您需要删除对sqljdbc_auth.dll的引用。因此,请从sqljjdbc42.jar的“本机库位置”中删除它。
接下来,您需要将auth DLL的引用添加到项目的“运行配置”中。为此,请执行以下操作:
-Djava.library.path =“[sqljsdb_auth.dll文件的路径]”(如果路径包含空格,请在路径周围使用引号)
这对我有用,我的项目构建和部署,我可以使用SQL Server集成身份验证进行调试和运行它。我不知道将这个添加到运行配置的含义是什么,但它似乎对我来说工作正常。如果你的构建路径参数中已有东西,那么你将不得不弄清楚如何添加多个项目,但我不知道如何做到这一点。