5

我需要从 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;

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

4

1 回答 1

5

我认为该 semicolon_hack变量未设置。

你需要这样写你的命令

select * from C_PROPS
go

或者,在 sqsh 会话开始时

\set semicolon_hack=on
go

现在你可以做

select * from C_PROPS;

或者,或者,在您的主目录中创建一个 .sqshrc 并插入此代码段

#
# $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
于 2014-01-27T14:53:29.727 回答