LinuxからSQL-Serverへのスクリプト可能なコマンドラインアクセス[終了]


8

LinuxクライアントからSQLサーバーに接続できる既製の1コマンドラインツールを知っている人はいますか?

任意のクエリを実行できるようにしたいのですが、ほとんどの場合、データベースダンプを取得してから復元したいと考えています。

自動ビルド環境に統合されるため、これスクリプト可能でなければなりません。

1 参考:私の唯一の他の選択肢は、何かを書くことです。私はおそらくperlとDBIを使用します

回答:


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は、sqsh(www.sqsh.org)などの完全なisqlの代わりではありません。それはに設計されています
       proto-の潜在的なバグを分離する方法として、最低レベルのFreeTDSライブラリであるtdslibに依存します。
       colの実装。


4

sql-cliを使用して、オンプレミスインスタンスとsql azureインスタンスの両方に接続できます。.runコマンドを使用して、1回限りのクエリを実行したり、スクリプトファイルを実行したりできます。

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]

Windows認証を使用するようにcliに指示する方法はありますか?
TCopple 2014

@TCopple nop、Windows認証をサポートしていません。
Muhammad Hasan Khan

1

Microsoft はLinux用のSQL Server ODBCドライバーを作成していますが、これはバイナリのみであり、特定の64ビットRHELビルドでのみ実行されます。1 ODBCを(unixODBCドライバースイートを介して)消費できるものなら何でも使用できます。スクリプトについては、python、perl、またはunixODBCで動作するあらゆるものを使用して、タスクを自動化できます。

パッケージには、bcpとsqlcmdのバージョンも含まれています。Sqlcmdはインタラクティブなクエリをサポートするか、クエリをシェルスクリプトに埋め込むことができます。

  1. ただし、関連するライブラリをインストールすることで、他のビルドでそれを起動できます。これは、LinuxでOracleを起動する人々によく知られているプロセスです。

0

SqlToolは、インタラクティブおよび自動化の使用のためのJDBC CLIです。OracleのSql * Loaderに似た方法でエクスポートとインポートをサポートしています(ご存じの場合)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.