【问题标题】:Connecting to a MSSQL server using LDAP on Ubuntu Linux在 Ubuntu Linux 上使用 LDAP 连接到 MSSQL 服务器
【发布时间】:2013-08-26 18:44:17
【问题描述】:

我正在尝试使用 linux 客户端连接到 MS SQL Server。我已经尝试过 SQuirreL 和 DBeaver,但在这两种情况下都没有运气。我尝试了几种不同的驱动程序。

给我的连接字符串如下所示:

jdbc:oracle:thin:@ldap://:/,cn=OracleContext,dc=,dc=,dc=

这似乎是一个无效的 URL,我尝试了各种组合(比如使用 jdbc:sqlserver:// ... 协议等。它似乎不喜欢连接字符串中的 @ldap ,并且我已经用分号替换了逗号。但是,我是连接到 SQL Server 的新手,更不用说使用 LDAP。

有什么想法/帮助吗?

谢谢!

【问题讨论】:

  • 我对 sql-server 不太了解,但我很确定您无法使用 LDAP 连接到它... LDAP 采用分层模型(数据在树中),而SQL 假设一个关系模型(数据在表中),这两者太不兼容了。那么 LDAP 是如何出现的呢?
  • 我其实不知道。也许我误解了连接字符串。 (不过,该连接字符串适用于 Windows 环境中的某人。)
  • 该连接字符串似乎用于连接到 Oracle 数据库。要连接到 SQL Server,您需要一个不同的连接字符串,您可以在 Microsoft 文档 msdn.microsoft.com/en-us/library/ms378428.aspx 中阅读

标签: java sql-server linux jdbc ldap


【解决方案1】:

对于那些使用 DBeaver 的人来说,使用 AD 用户连接到 SQL Server 数据库的方法是使用 jTDS 驱动程序。 我在 Debian 9 中使用 DBeaver 6.0。用户是 AD 用户。

为了使用 DBeaver 从 Linux Debian 连接到 SQL Server

1.- 选择 SQL Server jTDS 驱动程序

2.- 输入连接信息

3.- 转到驱动程序属性选项卡并添加域、用户、密码

作为一个注释,在一些帖子中,我发现他们需要将属性 USENTLMV2 更改为 TRUE,但它对我有用,方法是将 USERTLNMV2 设置为 true 或 false。

我发现的一个问题是,当我尝试使用我的用户名和密码连接到数据库时,抛出了下一个错误:

由于我的用户即将过期而引发此错误。我尝试了另一个 AD 用户,它可以连接。

【讨论】:

    【解决方案2】:
    cts:
      datasource:
        url: jdbc:jtds:sqlserver://dbserver:1433;database=DB;domain=yourdomain.com;useNTLMv2=true
        driver-class-name: net.sourceforge.jtds.jdbc.Driver
        username: username
        password: password
        hikari:
          connection-test-query: SELECT 1
          maximumPoolSize: 2
          minimumIdle: 1
    

    【讨论】:

    • 编译组:'net.sourceforge.jtds',名称:'jtds',版本:'1.3.1'
    猜你喜欢
    • 2021-04-20
    • 2021-09-24
    • 2012-10-06
    • 1970-01-01
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多