在Linux下用DBeaver通过Windows身份验证连接SQL Server遇问题求助
Linux下DBeaver连接SQL Server集成身份验证问题解决
1. 是否需要mssql-jdbc_auth-9.2.0.x64.dll?
不需要。这个.dll是Windows平台专属的动态链接库,仅用于Windows系统下的SQL Server集成身份验证。你在Debian Linux环境中,需要的是对应Linux平台的本地库文件,后缀为.so(即mssql-jdbc_auth-9.2.0.x64.so),而非.dll。
2. mssql-jdbc_auth-9.2.0.x64.dll能否在Linux系统中运行?
不能。.dll是Windows系统的动态链接库格式,Linux系统使用的是ELF格式的.so文件,二者二进制结构完全不同。即便通过Wine等兼容层尝试运行,也会出现兼容性问题,且完全没必要这么做。
3. Linux下实现Windows身份验证的可行方案
方案一:Kerberos认证(官方推荐)
这是Linux环境下对接Windows域身份验证的标准方式,步骤如下:
- 安装Kerberos客户端工具:
sudo apt update && sudo apt install krb5-user libkrb5-dev - 编辑
/etc/krb5.conf,配置域信息(替换为你的实际域参数):[libdefaults] default_realm = YOUR-DOMAIN.COM dns_lookup_kdc = true dns_lookup_realm = true [realms] YOUR-DOMAIN.COM = { kdc = dc.your-domain.com admin_server = dc.your-domain.com } - 获取Kerberos票据(替换为你的域账号):
kinit your-domain-username@YOUR-DOMAIN.COM - 在DBeaver的SQL Server连接配置中,选择Windows 身份验证(Kerberos),无需输入密码,驱动会自动使用已获取的Kerberos票据完成认证。
方案二:补充Linux版mssql-jdbc_auth本地库
如果不想配置Kerberos,可以手动补充Linux平台的驱动本地库:
- 下载对应版本的
mssql-jdbc_auth-9.2.0.x64.so文件(注意是Linux版本,不是Windows的dll) - 将该文件放到以下路径之一:
- DBeaver的驱动目录:
~/.local/share/DBeaverData/drivers/maven/maven-central/com.microsoft.sqlserver/ - Linux系统库路径:
/usr/lib64/或/usr/lib/
- DBeaver的驱动目录:
- 重启DBeaver,在连接配置中选择Windows 身份验证,驱动会自动加载
.so文件完成认证。
内容的提问来源于stack exchange,提问作者santos82h
相关产品推荐
相关产品推荐

