【问题标题】:Execute ms sql server queries from linux terminal从 linux 终端执行 ms sql server 查询
【发布时间】:2014-01-27 10:35:54
【问题描述】:

我需要从 linux 终端查询 MS SQL Server 数据库。搜索网络和这个站点,我找到了 freetds,然后找到了 sqsh。我已经安装了它们并且似乎连接到服务器但我无法让它执行查询,我肯定做错了什么。

我已将 freetds 配置为:

[MSSql]
        host = 192.168.1.4
        port = 1433
        tds version = 7.0

数据库服务器是 Sql Server 2008 r2。

连接时我使用以下命令:

sqsh -S MSSql -U sa -P sa -D databasename

这给了我这样的提示:

sqsh-2.1.7 Copyright (C) 1995-2001 Scott C. Gray
Portions Copyright (C) 2004-2010 Michael Peppler
This is free software with ABSOLUTELY NO WARRANTY
For more information type '\warranty'
1>

然后我尝试输入如下查询:

1> select * from C_PROPS;

但是什么也没发生。我做错了什么?,只需要简单的选择和更新。

【问题讨论】:

    标签: freetds sqsh


    【解决方案1】:

    我认为semicolon_hack 变量没有设置。

    你需要这样写你的命令

    select * from C_PROPS
    go
    

    或者,在 sqsh 会话开始时

    \set semicolon_hack=on
    go
    

    现在可以了

    select * from C_PROPS;
    

    或者,或者,在你的主目录中创建一个 .sqshrc 并插入这个 sn-p

    #
    # $semicolon_hack : This turns on the ability to use a semicolon as
    #             a sort of in-line go.  It is kind of hacky but seems
    #             to work pretty well.
    #
    \set semicolon_hack=on
    

    【讨论】:

    • 谢谢,我没有考虑过'go',在管理工作室(以及使用 postgres 或 mysql 时)我总是用';'结束语句。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 2013-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多