Acceso de línea de comandos programable a SQL-Server desde Linux [cerrado]


8

¿Alguien sabe de un ready made 1 herramienta de línea de comandos que me permitiera conectar desde un cliente Linux a un servidor SQL-?

Quiero poder ejecutar consultas arbitrarias, pero la mayoría de las veces quiero poder hacer un volcado de la base de datos y luego restaurarlo.

Esto tiene que ser programable ya que se integrará en un entorno de compilación automatizado.

1 FYI: Mi única otra alternativa es escribir algo. Probablemente usaré perl y DBI

Respuestas:


6

Encontré tsql y aunque su objetivo principal puede estar en otro lugar, cubre mis necesidades.

Está incluido en el paquete EPEL . Lo instalé con esto:
rpm -Uvh http://ftp.df.lth.se/pub/fedora-epel/6/x86_64/epel-release-6-7.noarch.rpm

FreeTDS (14 de mayo de 2011) FreeTDS (14 de mayo de 2011)

NOMBRE
       tsql - utilidad para probar conexiones y consultas de FreeTDS

SINOPSIS
       tsql {-S nombre del servidor [-I interfaz] | -H nombre de host -p puerto}
              -U nombre de usuario [-P contraseña] [-o opciones]

       tsql -C

DESCRIPCIÓN
       tsql es una herramienta de diagnóstico proporcionada como parte de FreeTDS. Utiliza el protocolo TDS directamente para
       se conecta a los servidores Sybase o Microsoft SQL, y permite al usuario emitir consultas que prueben la capacidad
       Habilidades de FreeTDS.

       tsql es * no * un reemplazo para un isql completo, como sqsh (www.sqsh.org). Está diseñado para
       confíe en la biblioteca FreeTDS de nivel más bajo, tdslib, como una forma de aislar posibles errores en el protocolo
       implementación de col.


4

Puede usar sql-cli para conectarse tanto a la instancia local como a la instancia de sql azure. Le permite ejecutar consultas únicas o ejecutar archivos de script usando el .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]

¿Alguna forma de decirle al cli que use la autenticación de Windows?
TCopple

@TCopple nop, no es compatible con la autenticación de Windows.
Muhammad Hasan Khan

1

Microsoft crea un controlador ODBC de SQL Server para Linux, aunque es solo binario y solo se ejecuta en ciertas compilaciones RHEL de 64 bits. 1 Cualquier cosa que pueda consumar ODBC (a través del paquete de controladores unixODBC) puede usarlo. Para las secuencias de comandos, puede usar python, perl o cualquier cosa que juegue con unixODBC para automatizar las tareas.

El paquete también viene con versiones de bcp y sqlcmd. Sqlcmd admitirá consultas interactivas o permitirá incrustar consultas en scripts de shell.

  1. Aunque puede abrirlo en otras compilaciones instalando las bibliotecas relevantes, un proceso bien conocido por las personas que traen Oracle en Linux.

0

SqlTool es una CLI de JDBC para usos interactivos y de automatización. Es compatible con la exportación e importación de manera similar al Sql * Loader de Oracle (si está familiarizado con eso).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.