将元数据库连接到 Sql Server

Gk_*_*999 6 java sql-server metabase

我在 Windows 10 机器上安装了 Java 并下载了 Metabase.jar并运行它。

现在我可以在localhost:3000访问元数据库

但我无法将我的 SQL Server 数据库设置为数据参考。

我要么得到:

无法连接到数据库。请检查连接详细信息。

或者

5000 毫秒后超时。

任何成功完成Metabase - SQL Server连接的人?

jor*_*rnh 4

目前,从 Metabase 版本0.30.x开始,答案取决于您是否可以使用直接在 SQL Server 上配置的用户:

  • 更简单的设置选项是直接在 SQL Server 上配置用户。然后配置只是名称:(任何内容)、主机:(全名)、数据库名称、用户名、密码,如您所料。(我相信你应该填写Windows域)

  • 仅在Windows上,您还可以使用本机集成身份验证sqljdbc_auth.dll,只需指定 IntegratedSecurity=true 连接属性(以及可选的authenticationScheme=NativeAuthentication)。我发现如果我将 x64 放入文件夹sqljdbc_auth.dll<java path>\jre\bin,它就会被拾起。元数据库配置如下面的屏幕截图所示,除了删除authenticationScheme=JavaKerberos

  • authenticationScheme=JavaKerberos对域用户使用 Windows 身份验证的跨平台选项仍然可行,但更困难。就是这几个步骤:

    1. 创建一个krb.conf并验证登录是否适用于<Java path>\bin\kinit.exe [user]. 这是一个经过编辑的模板,以匹配下面屏幕截图中的配置数据库设置。

    2. 使用参数启动 Metabase.jar 文件以加载krb.conf. 它对我有用java -Djava.security.krb5.conf=c:/<path>/kerberos/krb.conf -jar metabase.jar

    3. 现在根据下面的屏幕截图在 Metabase 中配置数据库设置

    4. 真相时刻!...

    5. 可选:仍然不起作用?也许您的 SQL Server 没有配置 Kerberos?也许您需要 SPN 设置?也许您需要指定一个 java.security.auth.login.config (我自己没有经历过任何这些,我唯一能提供的是您滚动到这篇文章的底部并深入研究,然后用您得到的位置编辑您的问题以及你有什么配置)

使用 Kerberos 的元数据库 SQL Server 设置: 在此输入图像描述

对于背景,当前(2018 年 8 月)很长:| 总结一下如何连接到 SQL Server 的大量链接位于元数据库讨论主题中 。 注意:在 v0.30.0 中,动态端口处理(特别是对于使用命名实例的用户)的问题已得到解决。

相关:关于Mac 上的 Kerberos的 StackOverflow 简洁答案