0

我刚开始学习 Mulesoft,想整理一个简单的演示,使用 sqljdbc 通过 Windows 身份验证访问 SQL Server 数据库。

我参考的文章:

使用 MuleSoft 连接到 MS SQL Server

将数据库连接器与 Microsoft SQL Server 一起使用

软件详情:

骡服务器 3.8.4 EE

Anypoint工作室6.2.4

问题:

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

症状:

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

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

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

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

  • 无论项目是否具有数据库连接器,此行为都是一致的。简单的“hello world”类型演示也会发生相同的行为。

如果有人有任何建议,我将不胜感激。如果我可以通过添加更多详细信息来澄清任何事情或提供帮助,请告诉我。

4

1 回答 1

1

我遇到了同样的问题,用 Mulesoft 记录了票证并得到了解决方法。

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

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

  1. 右键单击您的项目,选择“运行方式/运行配置...”
  2. 在“参数”选项卡上,将以下参数添加到“VM 参数”:

-Djava.library.path="[你的 sqljsdb_auth.dll 文件的路径]" (如果路径包含空格,请在路径周围使用引号)

  1. “应用”更改并关闭对话框并试一试,看看是否适合您。

这对我有用,我的项目构建和部署,我可以调试并以其他方式使用 SQL Server 集成身份验证运行它。我不知道将它添加到运行配置的含义是什么,但它似乎对我来说工作正常。如果您的构建路径参数中已经有了东西,那么您将不得不弄清楚如何添加多个项目,但我不知道该怎么做。

于 2017-05-19T13:16:59.793 回答