我需要从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;
但没有任何反应。我做错了什么?只需要简单的选择和更新。
答案 0 :(得分: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