当前位置: 首页 > 知识库问答 >
问题:

Linux jTDS 驱动程序在策略要求的 NTLM v2 之后登录 MS SQL Server 失败

赫连骏
2023-03-14

我有一个应用程序,它使用jTDS JDBC驱动程序访问MicrosoftSQLServer数据库并将数据存入Oracle数据库。在域策略更改为需要NTLM版本2进行身份验证后,登录开始失败并出现错误消息

java.sql。SQLException:登录失败。登录名来自不受信任的域,不能与Windows身份验证一起使用。

我与Windows域管理员验证了所使用帐户的密码是正确的,并且该帐户既没有被锁定也没有过期。根据其他帖子,我在JDBC URL的末尾添加了“useNTLMv2=true”参数,并将域参数扩展为完全限定的域名,但没有成功。我检查了jTDS版本,发现它是1.2(尽管Maven说它应该是1.3.1)。

共有1个答案

叶元凯
2023-03-14

碰巧的是,jTDS 1.2 不支持 NTLM v2。我不得不在类路径目录中升级到jTDS 1.3.1以添加此支持,并且该应用程序再次成功地对SQL Server数据库进行身份验证。

 类似资料:
  • 我正在使用Datastax Cassandra驱动程序,并设置了RetryPolicy,以便在主机不可用时重试。然而,我注意到它尽可能快地重试。我想将其更改为在重试之间有越来越大的延迟,而不是在集群陷入困境时对其进行重击。这对于过载的请求错误尤其重要,因为我确实希望在这些情况下重试,但会有很大的延迟。 哪里是实施延迟的正确地点,什么是正确的机制?我应该抛出一个

  • 问题内容: 我有一些PHP脚本可以登录,如果登录成功,则返回带有会话ID的JSON数组。 在我的应用程序中,我想登录首页并继续进行登录。我创建了一个单例类,其中包含一个会话ID(以及其他一些字段),该ID从PHP页面从JSON接收。根据用户的操作检查此单例对象的字段“ session_id”。 如果用户要注销,则将session_id设置为null从而注销。 登录时,我还使用HttpURLConn

  • 问题内容: 对于典型的最典型的面向Internet的网站,当您通过关闭选项卡( 无需注销 )登录并离开该网站(然后 注销 ),然后再次访问时,可能不需要您重新指定凭据或登录,您可以直接登录。 这一切在后端如何发生?如何在我的JSF 2.1应用程序中启用这种机制? 在Tomcat7服务器上使用JSF 2.1 问题答案: 这基本上是通过一个长寿的cookie完成的。JSF API不提供此功能,因为它只

  • 有一个在java 6(1.6.021)上构建和运行的遗留web应用程序,该应用程序部署在CentOS虚拟机上的Apache tomcat 6.0.29上,该虚拟机连接到两个数据库——一个MySQL数据库(本地)和一个SQL Server 2000数据库(远程)。多年来一切都很好,直到有一天,某个登录到SQL Server的用户收到一个登录超时错误。以前,这是间歇性的,因为登录时确实会出现超时,但现

  • 我有一个spark流媒体工作,它从Kafka读取数据并对其执行一些操作。我正在一个纱线集群Spark 1.4.1上运行该作业,该集群有两个节点,每个节点有16 GB RAM,每个节点有16芯。 我已将这些conf传递给spark提交作业: --主纱线簇--num executors 3--驱动器内存4g--executor内存2g--executor cores 3 作业返回此错误并在运行一段时间