29

我需要从未在我公司域中注册的 Linux 机器连接到 SQL 2008 R2 服务器。我正在尝试使用 SQuirreL SQL 版本 3.2.1。我下载了Microsoft SQL Server JDBC Driver 3.0并将其分配给了 Drivers 选项卡上的 SQuirreL。

现在,当我尝试在 SQuirreL 上创建别名时,我选择 SQL Server 驱动程序并调整 URL。对于凭据,我使用我的域注册用户名和密码。

当我尝试测试连接时,我总是得到同样的错误:

<"database-name">:用户 '<"domain">\<"domain-user">' 登录失败。

我怎样才能得到这个工作?提前致谢!

4

6 回答 6

28

我摆脱了 Microsoft SQL Server JDBC 驱动程序并下载了 jTDS驱动程序。我对其进行了一些调整,直到最终成功连接。正确的连接字符串是:

jdbc:jtds:sqlserver://<server_ip>:1433;databaseName=<instance_name>;domain=<domain_name>
于 2013-01-21T13:56:45.507 回答
22

答案可能已经过时,因为我在 MacOS 10.9.3 而不是 Linux 机器上遇到了与 SQuirrel SQL 类似的问题。彼得解决问题的方式启发了我。由于解决方案不是最简单的,我决定把它放在这里。希望它可以帮助某人。

  1. 下载适用于 SQL Server 的最新 Microsoft JDBC Driver 4.0(tar.gz 包)
  2. 仅从包中提取 sqljdbc4.jar
  3. 将jar文件复制到Squirrel SQL (Contents->Resources->Java->Lib)
  4. 现在 Microsoft MSSQL Server JDBC Driver 可用于创建别名
  5. 连接 URL:jdbc:sqlserver://SERVERNAME;databaseName=DATABASENAME
于 2014-05-29T08:30:42.123 回答
7

另一个对我有用的解决方案。在连接到 SQL Server 2008 R2 的 Windows 桌面上,我必须按照以下步骤操作:

  • 将jtds-1.3.1.jar复制到 SQuirrel SQL \lib 目录中
  • 重新启动 SQuirrel SQL 并检查您是否在驱动程序列表中看到jTDS Microsoft SQL
  • 确保在驱动程序配置中类名指定net.sourceforge.jtds.jdbc.Driver
  • 使用这样的连接字符串

jdbc:jtds:sqlserver://<hostnameOrIp>:<port>/<databaseName>;instance=<instanceName>

于 2015-12-09T16:20:21.587 回答
3

我设法从 Linux 机器上的 SQuirrel 连接到 SQL Server。粗*步...

  • 您只需要 MS 下载中的一个 jdbc jar(复制到“lib”)
  • 必须使用 SQL Server 身份验证(不是 Windows 网络身份验证)
  • 我们的数据库上已经启用了 SQL Server 身份验证
  • 添加了登录“jdoe”
  • 将 jdoe 默认数据库设置为“XxxDb”
  • 添加了从 jdoe 到所需数据库的“用户映射”
  • 在 SQL Server 上为 jdoe 设置权限:“连接”和“查看任何数据库”
  • 连接字符串:jdbc:sqlserver://SERVERNAME:1433;databaseName=XxxDb

* 可能不需要所有,因为我四处寻找

于 2013-07-29T04:05:15.827 回答
1

要连接到 MS SQL Server,您需要获取 JDBC 驱动程序:

  • 下载最新的 Microsoft JDBC 驱动程序
  • 选择下载.tar.gz
  • 解压包
  • 在 Squirrel-SQL 中,单击窗口左侧的 Drivers 选项卡
  • 右键单击Microsoft MSSQL Server JDBC Driver并选择Modify Driver...
  • 点击Extra Class Path
  • 点击Add
  • 浏览到所在sqljdbc41.jar的位置(它应该在 sqljdbc_4.1/enu/jre7/sqljdbc41.jar 或类似目录下)并单击Open
  • 点击OK
  • 现在在驱动程序列表的左侧Microsoft MSSQL Server JDBC Driver应该有一个复选标记,这意味着您正确安装了驱动程序

要连接到 MS SQL Server:

  • 单击Aliases窗口左侧的选项卡
  • 点击+标志即可Create a new Alias
  • 输入新连接的名称
  • 在 URL 文本框中粘贴 JDBC 连接字符串(例如,Azure 在连接字符串下提供给您)
  • 输入用户名和密码
  • 点击测试看看是否可以建立连接
  • 如果测试成功然后单击OK以完成创建连接

如果您在连接到 Azure SQL 数据库时遇到任何问题,您可能需要授予对特定 IP 的访问权限以连接到它或一些类似的访问权限。

于 2019-10-05T22:14:49.743 回答
0

确保 Microsoft jdbc 驱动程序与您使用的 java 运行时版本兼容,

我试图将 Driver 6.0 与 java-9 一起使用,但出现此错误:ClassNotFoundException:javax.xml.bind.DatatypeConverter 当我降级到 Java SE Runtime Environment 8u101 版本时,它连接没有问题。

于 2018-05-10T15:11:33.980 回答