从Linux对SQL Server的脚本化命令行访问


8

难道一个现成的任何人都知道1个命令行工具,可以让我从Linux客户端连接到SQL服务器?

我希望能够运行任意查询,但是大多数时候我希望能够进行数据库转储然后还原它。

必须是可编写脚本的,因为它将集成在自动构建环境中。

1 FYI:我的唯一选择就是写东西。我可能会使用perl和DBI

Answers:


6

我发现了tsql,尽管它的主要目的可能在其他地方,但它满足了我的需求。

它包含在EPEL软件包中。我用这个安装它:
rpm -Uvh http://ftp.df.lth.se/pub/fedora-epel/6/x86_64/epel-release-6-7.noarch.rpm

FreeTDS(2011年5月14日)FreeTDS(2011年5月14日)

名称
       tsql-测试FreeTDS连接和查询的实用程序

概要
       tsql {-S服务器名[-I接口] | -H主机名-p端口}
              -U用户名[-P密码] [-o选项]

       tsql -C

描述
       tsql是FreeTDS的一部分提供的诊断工具。它直接使用TDS协议来配置
       连接到Sybase或Microsoft SQL Server,并允许用户发出测试功能的查询
       FreeTDS的功能。

       tsql不能代替完整的isql,例如sqsh(www.sqsh.org)。它旨在
       依靠最低级别的FreeTDS库tdslib来隔离原型中的潜在错误,
       col实施。


4

您可以使用sql-cli连接到本地实例和sql azure实例。它允许您使用.run命令运行一次性查询或运行脚本文件

Usage: mssql [options]

Options:

-h, --help                     output usage information
-V, --version                  output the version number
-s, --server <server>          Server to conect to
-u, --user <user>              User name to use for authentication
-p, --pass <pass>              Password to use for authentication
-o, --port <port>              Port to connect to
-t, --timeout <timeout>        Connection timeout in ms
-d, --database <database>      Database to connect to
-q, --query <query>            The query to execute
-v, --tdsVersion <tdsVersion>  Version of tds protocol to use [7_4, 7_2, 7_3_A, 7_3_B, 7_4]
-e, --encrypt                  Enable encryption
-f, --format <format>          The format of output [table, csv, xml, json]

有什么办法告诉cli使用Windows身份验证?
TCopple 2014年

@TCopple nop,它不支持Windows身份验证。
穆罕默德·哈桑·汗

1

微软为Linux 创建了一个SQL Server ODBC驱动程序,尽管它只是二进制文件,并且只能在某些64位RHEL构建上运行。1 任何可以使用ODBC的东西(通过unixODBC驱动程序套件)都可以使用它。对于脚本编写,您可以使用python,perl或与unixODBC一起使用的任何东西来自动执行任务。

该软件包还附带了bcp和sqlcmd版本。Sqlcmd将支持交互式查询或允许将查询嵌入到Shell脚本中。

  1. 尽管您可以通过安装相关的库在其他版本上使用它-这是人们在Linux上使用Oracle所熟知的过程。

0

SqlTool是用于交互和自动化用途的JDBC CLI。它确实支持以类似于Oracle的Sql * Loader的方式进行导出和导入(如果您熟悉的话)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.