Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何使用SQuirreL SQL从非域注册的Linux box连接到SQL Server?_Sql Server_Linux_Dns_Squirrel Sql - Fatal编程技术网

Sql server 如何使用SQuirreL SQL从非域注册的Linux box连接到SQL Server?

Sql server 如何使用SQuirreL SQL从非域注册的Linux box连接到SQL Server?,sql-server,linux,dns,squirrel-sql,Sql Server,Linux,Dns,Squirrel Sql,我需要从我的Linux机箱连接到SQL 2008 R2服务器,该服务器未在我公司的域中注册。我正在尝试使用SquirrelSQL版本3.2.1。 我下载并在“驱动程序”选项卡上将其分配给SQuirreL 现在,当我尝试在SQuirreL上创建别名时,我选择SQL Server驱动程序并调整URL。对于凭据,我使用我的域注册用户名和密码 当我尝试测试连接时,总是会出现相同的错误: :用户“\”的登录失败 我怎样才能让它工作?提前谢谢 我去掉了Microsoft SQL Server JDBC驱动程

我需要从我的Linux机箱连接到SQL 2008 R2服务器,该服务器未在我公司的域中注册。我正在尝试使用SquirrelSQL版本3.2.1。 我下载并在“驱动程序”选项卡上将其分配给SQuirreL

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

当我尝试测试连接时,总是会出现相同的错误:

:用户“\”的登录失败


我怎样才能让它工作?提前谢谢

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

jdbc:jtds:sqlserver://<server_ip>:1433;databaseName=<instance_name>;domain=<domain_name>
jdbc:jtds:sqlserver://:1433;数据库名=;领域=

我设法从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

*可能不需要全部,因为我在四处摸索

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

  • 下载适用于SQL Server的最新Microsoft JDBC驱动程序4.0(tar.gz包)
  • 仅从包中提取sqljdbc4.jar
  • 将jar文件复制到Squirrel SQL中(内容->资源->Java->库)
  • 现在可以使用Microsoft MSSQL Server JDBC驱动程序创建别名
  • 连接URL:jdbc:sqlserver://SERVERNAME;databaseName=数据库名称

  • 另一个对我有效的解决方案。在连接到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://;实例=

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

    我试图在java-9中使用驱动程序6.0,但出现以下错误: ClassNotFoundException:javax.xml.bind.DatatypeConverter 当我降级到Java SE Runtime Environment 8u101版本时
    它连接起来没有问题。

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

    • 选择下载
      .tar.gz
      软件包
    • 取出包裹
    • 在Squirrel SQL中,单击窗口左侧的驱动程序选项卡
    • 右键单击Microsoft MSSQL Server JDBC驱动程序,然后选择修改驱动程序…
    • 单击
      额外类路径
    • 单击添加
    • 浏览到
      sqljdbc41.jar
      所在的位置(它应该在sqljdbc_4.1/enu/jre7/sqljdbc41.jar或类似目录下),然后单击
      Open
    • 单击
      OK
    • 现在,在驱动程序列表中Microsoft MSSQL Server JDBC驱动程序的左侧,应该有一个复选标记,表示您正确安装了驱动程序
    要连接到MS SQL Server,请执行以下操作:

    • 单击窗口左侧的
      别名
      选项卡
    • 单击
      +
      符号以
      创建新别名
    • 键入新连接的名称
    • 在URL文本框中,粘贴JDBC连接字符串(例如,Azure在连接字符串下提供给您)
    • 输入用户名和密码
    • 单击test以查看是否可以建立连接
    • 如果测试成功,则单击
      OK
      完成连接的创建

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

    我花了大约2个小时尝试连接。经过5分钟的jTDS后,它开始工作。谢谢。以防万一别人也会这样。。。当通过https访问MS驱动程序下载页面时,无法在Chrome中启动下载(截至编写时为44)。要开始下载,请通过http转到页面并重试。此解决方案对我来说是最简单的。我只想补充一点,你需要一份jtds的副本。目前(2018年10月)它托管在上当更改驱动程序配置类名时,如图所示,我得到错误-在jtds Microsoft SQL驱动程序定义:Java.lang.ClassNotFoundException:net.sourceforge.jtds.jdbc.driver的Java类路径和额外类路径中都找不到类net.sourceforge.jtds.jdbc.driver。