it-swarm.com.de

Skriptfähiger Befehlszeilenzugriff auf SQL-Server unter Linux

Kennt jemand eine fertige1 Kommandozeilen-Tool, mit dem ich eine Verbindung von einem Linux-Client zu einem SQL-Server herstellen kann?

Ich möchte in der Lage sein, beliebige Abfragen auszuführen, aber die meiste Zeit möchte ich in der Lage sein, einen Datenbankspeicherauszug zu erstellen und ihn dann wiederherzustellen.

Dieses muss muss skriptfähig sein, da es in eine automatisierte Build-Umgebung integriert wird.

1Zu Ihrer Information: Meine einzige andere Alternative ist, etwas zu schreiben. Ich werde wahrscheinlich Perl und DBI verwenden

8
Nifle

Ich habe tsql gefunden und obwohl sein Hauptzweck woanders liegen mag, deckt es meine Bedürfnisse ab.

Es ist im EPEL-Paket enthalten. Ich habe es damit installiert:
rpm -Uvh http://ftp.df.lth.se/pub/Fedora-epel/6/x86_64/epel-release-6-7.noarch.rpm

 FreeTDS (14. Mai 2011) FreeTDS (14. Mai 2011) 
 
 NAME 
 Tsql - Dienstprogramm zum Testen von FreeTDS-Verbindungen und Abfragen 
 
 ÜBERSICHT 
 Tsql {-S Servername [-I Schnittstelle] | -H Hostname -p Port} 
 -U Benutzername [-P Passwort] [-o Optionen] 
 
 Tsql -C 
 
 BESCHREIBUNG 
 tsql ist ein Diagnosetool, das im Rahmen von FreeTDS bereitgestellt wird. Es verwendet das TDS-Protokoll direkt, um eine Verbindung zu Sybase- oder Microsoft SQL-Servern herzustellen, und ermöglicht dem Benutzer, Abfragen zu stellen, mit denen die Kapazitäten von FreeTDS getestet werden. 
 
 tsql ist * kein * Ersatz für eine vollständige isql wie sqsh (www.sqsh.org). Es wurde entwickelt, um 
 Auf die FreeTDS-Bibliothek der untersten Ebene, tdslib, zurückzugreifen, um potenzielle Fehler in der proto- 
 Col-Implementierung zu isolieren. 
6
Nifle

Mit sql-cli können Sie eine Verbindung sowohl zur lokalen als auch zur SQL Azure-Instanz herstellen. Mit dem Befehl .run Können Sie einmalige Abfragen oder Skriptdateien ausführen

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]
4

Vielleicht möchten Sie sich SQL Workbench/J ansehen

Es basiert auf Java/JDBC und läuft daher unter Linux einwandfrei

Es unterstützt eine GUI-Modus , interaktive Befehlszeile Verwendung (keine GUI) und kann in Batch-Modus ausgeführt werden. Es unterstützt auch Exportieren in verschiedene Formate, um den "Dump" zu nehmen.

Microsoft erstellt einen SQL Server ODBC-Treiber für Linux, obwohl dieser nur binär ist und nur auf bestimmten 64-Bit-RHEL-Builds ausgeführt wird.1 Alles, was verbraucht werden kann ODBC (über die unixODBC-Treibersuite)) kann es verwenden. Für die Skripterstellung können Sie Python, Perl oder alles verwenden, was mit unixODBC spielt, um Aufgaben zu automatisieren.

Das Paket enthält auch Versionen von bcp und sqlcmd. Sqlcmd unterstützt interaktive Abfragen oder ermöglicht das Einbetten von Abfragen in Shell-Skripte.

  1. Obwohl Sie es auf anderen Builds aufrufen können, indem Sie die entsprechenden Bibliotheken installieren - ein Prozess, der den Leuten bekannt ist, die Oracle unter Linux aufrufen.

SqlTool ist eine JDBC-CLI für interaktive und automatisierte Zwecke. Es unterstützt das Exportieren und Importieren auf ähnliche Weise wie der Sql * Loader von Oracle (wenn Sie damit vertraut sind).

0
Blaine