2

ここでの初心者の質問: 私は FreeTDS を動作させ、Microsoft SQL Server 2008 r2 db をクエリし、ミント linux vm から、インターウェブを読み取り、ほとんどが stackoverflow を使用してい ます FreeTDSを使用してデータベースにアクセスできるため、cliの一部であることに加えて、sqshが追加するものを理解していません..これを解決するための情報をいただければ幸いです。

4

3 に答える 3

4

私は過去にsqshをたくさん使ってきました。本当に役に立ちました。

sybase/mSServer isql を使用したことがある場合は、これが非常に面倒であることがわかるでしょう。コマンドライン編集と履歴の実際のサポートはありません。SQSH はもともと、データベースとのインターフェース用にシェルのようなコマンドライン環境を提供するために作成されました。データベースからデータを抽出してファイルに保存するのは非常に簡単です。その後、必要に応じてファイルを編集し、bcp またはその他を使用してデータを新しいテーブルにロードできます。

SQSH シェルは、環境変数、ファイル リダイレクトをサポートしています (内部的に入力方向を使用したことは覚えていませんが、

select c1, c2, c3,c7, c120 from customer > customerFile

とても便利でした。

左側のメニューの機能リンクの下にあるhttp://www.sqsh.orgで機能の完全なリストを参照してください。

Commands 
Variables 
Redirection and Pipes 
Aliasing 
Command Substitution 
Backgrounding & Job Control 
SQL Batch History 
Configurable Exit Status 
Inter-Server BCP 
Remote Procedure Calls 
Semicolon "go" 
Simple Scripting 
Flow-of-Control  
Functions  
Multiple Display Styles 
X Windows Support 
Macro Pre-Processing 
Miscellaneous 
Commands

フロー制御では、複数行の結果セットを返す 1 つのクエリを使用し、各レコードdoで , およびwhileループ処理を使用できることに注意してください。if ... elif ..fiこれもブロックをサポートします。これらの機能をあまり使用したことは覚えていませんが、エイリアスと環境変数を見つけ、リダイレクトによって何時間も節約できました。

とはいえ、私はやる気のあるユーザーでした。ドキュメントはすべての回答を提供するものではありません。そのため、実験、頭を悩ませること、およびレビューに時間がかかる場合があります。

私はそれについて読んだことを除いて、TDS の経験はありません。基本的に、あなたが答える必要がある質問は、私はシェル コマンド ライン ジャンキーですか、テキスト ベースの SQL クライアントでコマンド ライン パワーを取得する方法を学ぶために少し時間を割いても構わないということです。

IHTH。

于 2012-10-29T19:04:37.733 に答える
1

TDS (Tabular Data Stream) は、Sybase と MSSQL が使用しているネイティブのクライアント - サーバー通信プロトコルであり、ミドルウェア ソフトウェアとユーティリティの専用セットである CT_Library に実装されています。FreeDTS は、CT-Library に相当するオープンソースです。Sqsh は CT-Library 呼び出しを使用してサーバーと通信し、Sybase CT-Library または FreeTDS の両方でビルド/リンクできます。Sybase CT-Library は TDS バージョン 5.0 以下のみをサポートしますが、MSSQL は現在 TDS バージョン 7.0 または 8.0 を使用しています。これらのプロトコル バージョンは、FreeTDS でもサポートされています。したがって、sqsh を MSSQL に接続できるようにする場合は、ミドルウェア層として FreeTDS が必要になります。FreeTDS には、サーバーに接続していくつかの SQL ステートメント (fisql、tsql) を実行するために使用できるいくつかの基本的なユーティリティも付属しています。ただし、Sqsh は、実際のシェルのように、より多くの機能を提供します。

于 2014-07-02T20:23:06.633 に答える
0

私は、ubuntu で unixodbc と freetds を perl の ODBC モジュールと組み合わせて使用​​しています。時々(非常にまれですが)isql簡単なクエリに使用しますが、それだけです。SQSH は、より優れた機能を持つ isql に似たものです。SQSHウィキをチェックしてください

SQSH には、isql よりも多くの機能があります。ただし、isql / sqsh を広範囲に使用しなければならないユースケースに遭遇したことはありません。私が持っているものは何でも、私はperlを介してそれを行います.

于 2012-10-29T16:48:12.577 に答える