Accesso da riga di comando tramite script a SQL Server da Linux [chiuso]


8

Qualcuno sa di uno strumento da riga di comando 1 già pronto che mi consentirebbe di connettermi da un client Linux a un server SQL?

Voglio essere in grado di eseguire query arbitrarie, ma il più delle volte voglio essere in grado di eseguire un dump del database e quindi ripristinarlo.

Questo deve essere programmabile in quanto si integrerà in un ambiente di compilazione automatizzato.

1 FYI: La mia unica altra alternativa è scrivere qualcosa. Probabilmente userò perl e DBI

Risposte:


6

Ho trovato tsql e mentre il suo scopo principale potrebbe trovarsi altrove, copre i miei bisogni.

È incluso nel pacchetto EPEL . L'ho installato con questo:
rpm -Uvh http://ftp.df.lth.se/pub/fedora-epel/6/x86_64/epel-release-6-7.noarch.rpm

FreeTDS (14 maggio 2011) FreeTDS (14 maggio 2011)

NOME
       tsql - utility per testare le connessioni e le query di FreeTDS

SINOSSI
       tsql {-S servername [-I interface] | -H hostname -p port}
              -U username [-P password] [-o opzioni]

       tsql -C

DESCRIZIONE
       tsql è uno strumento diagnostico fornito come parte di FreeTDS. Utilizza direttamente il protocollo TDS per con-
       nect per Sybase o Microsoft SQL Server e consente all'utente di inviare query che testano le
       bilance di FreeTDS.

       tsql è * non * un sostituto di un completo isql, come sqsh (www.sqsh.org). È progettato per
       fare affidamento sulla libreria FreeTDS di livello più basso, tdslib, come un modo per isolare potenziali bug nel protocollo
       implementazione col.


4

È possibile utilizzare sql-cli per connettersi a istanze sia on-premise che sql azzurre. Ti permette di eseguire query una tantum o eseguire file di script usando il .runcomando

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]

Qualche modo per dire al cli di utilizzare l'autenticazione di Windows?
TCopple,

@TCopple nop, non supporta l'autenticazione di Windows.
Muhammad Hasan Khan,

1

Microsoft crea un driver ODBC di SQL Server per Linux, anche se è solo binario e funziona solo su determinati build RHEL a 64 bit. 1 Tutto ciò che può essere ODBC (attraverso la suite di driver unixODBC) può usarlo. Per lo scripting, è possibile utilizzare Python, Perl o qualsiasi cosa venga riprodotta con unixODBC per automatizzare le attività.

Il pacchetto include anche versioni di bcp e sqlcmd. Sqlcmd supporterà le query interattive o consentirà di incorporare le query negli script di shell.

  1. Sebbene sia possibile utilizzarlo su altre build installando le librerie pertinenti, un processo ben noto alle persone che portano Oracle su Linux.

0

SqlTool è una CLI JDBC per usi interattivi e di automazione. Supporta l'esportazione e l'importazione in modo simile a Oracle Sql * Loader (se hai familiarità con quello).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.