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

Sql server 如何从Mac OS X终端使用MS SQL Server?,sql-server,macos,command-line,terminal,command-line-interface,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命令行客户端 我不喜欢其中任何一款——我觉得它们很乏味,也不太像Mac——因此目前我通过VMWare Fusion在Windows XP上使用SQL Server 2008 Mana

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

我不喜欢其中任何一款——我觉得它们很乏味,也不太像Mac——因此目前我通过VMWare Fusion在Windows XP上使用SQL Server 2008 Management Studio。但启动和退出仍然是一个巨大的痛苦,它在运行时会吃掉我的RAM,每次使用它时都会更改磁盘上的几个2GB文件,从而毒害我的时间机器备份


我喜欢从命令行使用MySQL,因此这似乎是一种快速访问数据库、调查bug或添加测试数据的好方法。要是我能那样使用SQL Server就好了!除了我自己使用纯JDBC实现命令行客户机之外,还有什么能让这成为可能?

免费、开源、基于Java的:


对于SQL Server,您可能无法像对MySQL或Oracle那样获得基于命令行的工具。您需要执行的几乎所有命令和操作都是SQL命令:您只需安装一个SQL客户端,然后就可以从终端运行了。这个开源节点应用于2014年推出,为Mac OS X和其他台式机提供了一个有用的命令行控制台。

微软现在提供了。从理论上讲,如果Mac相应地配置了Kerberos(sql cli工具不可能提供的),那么这应该支持与Windows身份验证连接

这些是作为自制软件包分发的:

$brew tap microsoft/mssql发行版https://github.com/Microsoft/homebrew-mssql-release
$brew更新
$ACCEPT_EULA=y brew安装--无沙盒msodbcsql mssql工具
将OS X主机作为客户端连接到SQL Server:

$sqlcmd-s127.0.0.1-usa-P'yourStrong(!)密码'
1> 选择@@VERSION作为“SQL Server版本”
2> 去
选择@@VERSION作为“SQL Server版本”
数据库版本
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Microsoft SQL Server 2017(RTM)-14.0.1000.169(X64)
2017年8月22日17:04:49
版权所有(C)2017微软公司
Linux上的开发者版(64位)(Ubuntu 16.04.3 LTS)
(1行受影响)
1> 退出
您可以在
~/.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
如果
驱动程序设置与安装过程中向unixODBC注册的名称相匹配,请参阅
odbcinst-q-d

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

尽管我更喜欢在Mac上使用Azure Data Studio,但我曾经使用MS SQL在命令行上工作过一段时间。我使用跨平台工具SQLCLI完成了这项工作

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

    npm install -g sql-cli
如果您有权限错误,请尝试以root/Administrator身份运行此命令,但这次是通过预加sudo命令

    sudo npm install -g sql-cli
现在连接到MS SQL server

    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>

$pip安装mssql cli


您可以在中找到更多信息以获取更多信息。

为什么不在计算机上设置一些web服务,只需发出NSURL链接即可获取所需数据?我投票赞成,因为这在当时(2011年)是正确的,尽管OP说“我不喜欢SQL Server的任何OS X GUI客户端”。Squirrel不像Mac,但我更喜欢它而不是命令行客户机,因为它只用于编写和运行SQL Server和PostgreSQL的纯SQL代码:我不知道为什么OP会觉得它乏味,也许其他读者不会。