【问题标题】:How can I use MS SQL Server from the Mac OS X Terminal?如何从 Mac OS X 终端使用 MS SQL Server?
【发布时间】:2011-07-22 07:38:56
【问题描述】:

我使用 Mac 开发网络应用程序。我们的运行时是 Java,我们的 Web 服务器是 Jetty,我们的 IDE 是 Eclipse。所以我们的整个堆栈可以在 Mac 和 Windows 上本地使用……除了我们的数据库,它是 MS SQL Server(范围从 2000 年到 2008 年,具体取决于应用程序)。我想要一个用于 MS SQL Server 的 Unix 命令行客户端。

我不喜欢 OS X GUI clients for SQL Server 中的任何一个——我觉得它们很乏味,而且不太像 Mac——所以我暂时通过 VMWare Fusion 在 Windows XP 上使用 SQL Server 2008 Management Studio。但是启动和退出仍然很痛苦,它在运行时会占用我的 RAM,并且每次我使用它时都会更改磁盘上的几个 2GB 文件,从而毒害我的 Time Machine 备份。

我喜欢从命令行使用 MySQL 的方式,因此这似乎是快速访问我的数据库并调查错误或添加一些测试数据的好方法。如果我能那样使用 SQL Server 就好了!没有自己使用直接 JDBC 实现命令行客户端,有什么可以让这成为可能吗?

【问题讨论】:

  • 为什么不在机器上设置一些web服务,直接发出NSURL链接来获取你想要的数据?

标签: sql-server macos command-line terminal command-line-interface


【解决方案1】:

这个于 2014 年推出的开源节点应用程序sql-cli,为 Mac OS X 和其他桌面提供了一个有用的命令行控制台。

【讨论】:

    【解决方案2】:

    Microsoft 现在提供OS X binaries of Command Line Tools for SQL Server, including sqlcmd, along with a first-party ODBC driver。理论上,如果 Mac 已相应配置了 Kerberos,这应该支持与 Windows 身份验证连接——sql-cli 工具不太可能提供的东西。

    这些作为 Homebrew 软件包分发:

    $ brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
    $ brew update
    $ ACCEPT_EULA=y brew install --no-sandbox msodbcsql mssql-tools
    

    将 OS X 主机作为客户端连接到 SQL Server running in Docker

    $ sqlcmd -S 127.0.0.1 -U sa -P 'yourStrong(!)Password'
    1> SELECT @@VERSION AS 'SQL Server Version'
    2> GO
    SELECT @@VERSION AS 'SQL Server Version'
    
    SQL Server Version
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64)
        Aug 22 2017 17:04:49
        Copyright (C) 2017 Microsoft Corporation
        Developer Edition (64-bit) on Linux (Ubuntu 16.04.3 LTS)
    
    (1 rows affected)
    1> quit
    

    您可以在~/.odbc.ini中配置DSN:

    # Give -D to connect using a DSN:
    # sqlcmd -S DockerMS -D -U user -P password
    
    [DockerMS]
    Driver = ODBC Driver 13 for SQL Server
    Server = 127.0.0.1,1433
    Database = YourDefaultDB
    

    Driver 设置与安装过程向 unixODBC 注册的名称匹配,请参阅odbcinst -q -d

    【讨论】:

      【解决方案3】:

      安装FreeTDS,然后你可以从终端运行sqsh

      【讨论】:

        【解决方案4】:

        免费、开源、基于 Java:SQuirreL?

        您可能不会像为 MySQL 或 Oracle 做事那样获得基于命令行的 SQL Server 工具。几乎您需要执行的每个命令和操作都是 SQL 命令:您只需要一个 SQL 客户端

        【讨论】:

        • 我投了赞成票,因为这在当时是正确的(早在 2011 年),尽管 OP 说“我不喜欢 SQL Server 的任何 OS X GUI 客户端”。 Squirrel 不像 Mac,但我更喜欢它而不是命令行客户端,只是为了编写和运行 SQL Server 和 PostgreSQL 的纯 SQL 代码:我不知道为什么 OP 觉得它很乏味,也许其他读者不会。
        【解决方案5】:

        尝试使用Azure Data Studio,跨平台工具。我在 MAC 上用作 SQL 客户端,结果它是最好的。 与其他 Free SQL 客户端不同,它是免费且用户友好的。

        【讨论】:

          【解决方案6】:

          尽管我更喜欢在 Mac 上使用 Azure Data Studio,但我曾经在命令行上使用 MS SQL 工作过一段时间。我使用跨平台工具 sql-cli 做到了这一点。

          假设你已经安装了 npm, 在终端上运行以下命令 -

              npm install -g sql-cli
          

          如果您有权限错误,请尝试以 root/Administrator 身份运行,但这次是在 sudo 命令前添加。

              sudo npm install -g sql-cli
          

          现在连接到 MS SQL 服务器

              mssql -u sa -p myPassw0rd
          

          你应该期待这样的事情:

              Connecting to localhost...done
          
                sql-cli version 0.6.2
                Enter ".help" for usage hints.
                mssql>
          

          要检查您的 SQL Server 是否正在运行,请输入以下命令运行测试:

              select @@version
          

          如果您的服务器正在运行,您应该会看到类似以下的输出:

              Microsoft SQL Server 2019 (RTM-CU4) (KB4056498) - 15.0.2022.28 (X64) 
                  May 9 2020 10:39:09 
                  Copyright (C) 2017 Microsoft Corporation
                  Developer Edition (64-bit) on Linux (Ubuntu 16.04.3 LTS)
          
              1 row(s) returned
          
              Executed in 1 ms
              mssql>
          

          【讨论】:

            【解决方案7】:

            $ pip install mssql-cli

            您可以在https://docs.microsoft.com/pt-br/sql/tools/mssql-cli?view=sql-server-ver15 中找到更多信息以获取更多信息。

            【讨论】:

              猜你喜欢
              • 2010-09-05
              • 2016-01-10
              • 1970-01-01
              • 1970-01-01
              • 2020-12-11
              • 1970-01-01
              • 2011-04-04
              • 2010-10-29
              • 2013-07-17
              相关资源
              最近更新 更多