但是我无法设置我的SQL Server数据库作为数据引用。我要么得到以下错误信息:
"无法连接到数据库,请检查连接详细信息。"
或者
"5000毫秒后超时。"
有没有成功实现过Metabase-SQL Server连接的人?
目前,截至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
文件夹中,它会被捕获。Metabase配置如下面的屏幕截图所示,除了删除authenticationScheme=JavaKerberos
跨平台authenticationScheme=JavaKerberos
选项仍然可以使用域用户的Windows身份验证,但更难。这些是步骤:
创建一个krb.conf
,并使用<Java path>\bin\kinit.exe [user]
验证登录是否有效。这是模板,已编辑以匹配下面屏幕截图中的Metabase数据库设置。
使用参数启动Metabase.jar文件以加载krb.conf
。对我而言,它与java -Djava.security.krb5.conf=c:/<path>/kerberos/krb.conf -jar metabase.jar
一起工作。
现在根据下面的屏幕截图配置Metabase中的数据库设置
关键时刻! ...
可选:还是不起作用吗?也许您的SQL Server没有配置Kerberos?也许您需要设置SPN?也许您需要指定java.security.auth.login.config(我自己没有遇到过这些问题,我唯一能提供的是您可以滚动到本帖子底部并深入研究,然后编辑您的问题,说明您达到了什么配置)
作为背景,截至当前(2018年8月),关于如何连接SQL Server的详细信息可以在Metabase讨论主题中找到,里面有很多链接。需要注意的是,在v0.30.0版本中,修复了动态端口处理问题(特别是对于使用命名实例的用户)。
USE master
GO
Xp_readerrorlog
(查找“Server is listening on…”行)