java - 如何在 Eclipse 中为 SQL Server JDBC 驱动程序配置集成身份验证?
问题描述
我正在尝试在 Eclipse 中创建与 SQL Server 的新数据库连接,但出现以下错误:
*com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId:f76bec48-e9f8-4a03-aea3-4840e8674267*
环境细节:
- Windows Server 2016 数据中心 (x64)
- 微软 SQL Server 2014 (SP2-GDR)
- Eclipse 4.9.0 JRE 1.8.0_191
- 驱动:sqljdbc 6.0
导致错误的步骤:
- 打开数据源资源管理器并添加了一个新的数据库连接
- 选择 Microsoft SQL Server 2008 JDBC 驱动程序(我无法让任何较新的驱动程序工作;它不允许我输入任何属性)。
- 将 Eclipse 指向我的 JAR 文件 (sqljdbc42.jar)
- 进入数据库属性并选择“使用集成身份验证”
- 单击“测试数据库连接”
这是我得到上述错误的地方。
我试图解决的错误:
- 我读到这个错误通常是由于Windows系统路径中没有sqljdbc_auth.dll文件,所以我将这个文件的x64版本移动到C:\Windows\System32(我也尝试了C:\Windows\SysWOW64好衡量),但是,同样的结果。
- 我还发现将 sqljdbc_auth.dll 文件添加到 java.library.path 值可能是一个潜在的解决方法,但我不知道该怎么做,因为此时我实际上不在项目中;我在数据源资源管理器中尝试添加新连接。
每次我尝试 ping 此连接时,都会收到相同的错误:
*com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId:733c823d-b740-4f70-89a4-4109a03dad58*
但是,我可以通过 SQL Server Management Studio 使用 Windows 身份验证连接到此服务器/数据库。
谢谢你的帮助!
解决方案
对于可能仍然遇到此问题的任何人的延迟响应...我不得不将 mssql-jdbc_auth-XYX .x64.dll 文件的副本(来自驱动程序的 sqljdbc_ X.Y \enu\auth\x64 文件夹)放入 java.library我的 Windows 10 机器上的 .path 并重新启动 Eclipse。之后,我能够使用集成安全性进行连接。顺便说一句,java.library.path 应该部分反映您的 Windows 环境的 PATH 变量。
推荐阅读
- css - 打开键盘时在 Android 上更改视图高度
- delphi - 如何在 TpFIBDataSet SQL 查询中使用参数?
- amazon-web-services - 从实例配置文件中检索 IAM 角色以用于 v4 签名者
- vue.js - 从组件调用路由视图页面中的方法
- sql - SQLite3:通过许多 ID 从多个表中选择列
- python - Python Anaconda 3.7.1 的 TensorFlow 失败
- java - Tomcat如何设置处理HTTP请求的线程的上下文类加载器?
- docker - Ansible 对 docker 模块的支持
- mysql - sql查询返回重复
- ruby - Using module method inside class