windows服务器上没有sql server的gui,linux服务器上没有sql server命令行客户端。sql shell是一个通用的sql命令行客户端。 可以使用sqlshell来执行sql,跨语言,跨平台。

https://github.com/bmc/sqlshell

用法总结如下。

##1.下载sqlshell,下载mssql driver,命令行安装:

wget https://github.com/downloads/bmc/sqlshell/sqlshell-0.8.1-installer.jar
java -jar sqlshell-0.8.1-installer.jar

解压以后, 下载sqljdbc4-2.0.jar,放到lib目录下,这样sqlshell会自动加载driver:

wget http://www.java2s.com/Code/JarDownload/sqljdbc4/sqljdbc4-2.0.jar.zip
unzip sqljdbc4-2.0.jar.zip
mv sqljdbc4-2.0.jar lib

##2.配置config文件: mkdir -p ~/.sqlshell/ vi ~/.sqlshell/config , 内容如下:

[drivers]
# Driver aliases.
postgresql = org.postgresql.Driver
postgres = org.postgresql.Driver
mysql = com.mysql.jdbc.Driver
sqlite = org.sqlite.JDBC
sqlite3 = org.sqlite.JDBC
oracle = oracle.jdbc.driver.OracleDriver
access = sun.jdbc.odbc.JdbcOdbcDriver
mssql = com.microsoft.sqlserver.jdbc.SQLServerDriver

[db_mydb] aliases=mssql url=jdbc:sqlserver://127.0.0.1:1453;DatabaseName=demo-db driver=com.microsoft.sqlserver.jdbc.SQLServerDriver user=Dianping_API password=xxxx

##3.指定配置文件,运行sqlshell,连接mydb:

bin/sqlshell -c ~/.sqlshell/config mydb

##4.可以在交互shell中运行命令,如:

sqlshell> select top 1 * from DP_AWKeyword; Execution time: 0.2 seconds Retrieval time: 0.12 seconds 1 row returned.

KID AWID Keyword AdType Power HasNotified NotifyDate Channel Category Region Priority SourceType


1 341 徐汇区火锅 20 2 false NULL NULL NULL NULL NULL 0