如何从Mac OS X终端使用MS SQL Server?

时间:2011-03-24 16:58:52

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

我使用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那样 - 所以目前我在Windows XP上通过VMWare Fusion使用SQL Server 2008 Management Studio。但是启动和退出仍然是一个巨大的痛苦,它在运行时会占用我的RAM,并且每次使用它时都会通过更改磁盘上的几个2GB文件来中毒我的Time Machine备份。

我喜欢如何在命令行中使用MySQL,因此这似乎是快速访问我的数据库并调查错误或添加一些测试数据的好方法。如果只有我可以这样使用SQL Server!如果没有使用直接JDBC实现命令行客户端,那么还有什么可以实现这一点吗?

7 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:6)

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

答案 2 :(得分:4)

安装FreeTDS,然后您可以从终端

运行sqsh

答案 3 :(得分:1)

免费,开源,基于Java:SQuirreL

您可能无法获得基于命令行的SQL Server工具,就像您为MySQL或Oracle做的事情一样。几乎所有所需的命令和操作都是 SQL命令:您只需要一个SQL客户端

答案 4 :(得分:0)

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

答案 5 :(得分:0)

尽管我更喜欢在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>

答案 6 :(得分:0)

$ pip install mssql-cli

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