Akses baris perintah skrip ke SQL-Server dari linux [ditutup]

8

Apakah ada yang tahu alat baris perintah 1 siap pakai yang akan memungkinkan saya untuk terhubung dari klien linux ke server sql?

Saya ingin dapat menjalankan kueri yang sewenang-wenang, tetapi sebagian besar waktu saya ingin dapat mengambil dump database dan mengembalikannya.

Ini harus dapat skrip karena akan berintegrasi dalam lingkungan build otomatis.

1 FYI: Satu-satunya alternatif saya adalah menulis sesuatu. Saya mungkin akan menggunakan perl dan DBI

Nifle
sumber

Jawaban:

6

Saya menemukan tsql dan walaupun tujuan utamanya mungkin terletak di tempat lain ia menutupi kebutuhan saya.

Itu sudah termasuk dalam paket EPEL . Saya menginstalnya dengan ini:
rpm -Uvh http://ftp.df.lth.se/pub/fedora-epel/6/x86_64/epel-release-6-7.noarch.rpm

FreeTDS (14 Mei 2011) FreeTDS (14 Mei 2011)

NAMA
       tsql - utilitas untuk menguji koneksi dan permintaan FreeTDS

RINGKASAN
       tsql {-S servername [-I interface] | -H hostname -p port}
              -U nama pengguna [-P kata sandi] [-o opsi]

       tsql -C

DESKRIPSI
       tsql adalah alat diagnostik yang disediakan sebagai bagian dari FreeTDS. Ia menggunakan protokol TDS secara langsung untuk
       nect ke Sybase atau Microsoft SQL Server, dan memungkinkan pengguna untuk mengeluarkan pertanyaan yang menguji kapasitas
       tanggung jawab FreeTDS.

       tsql bukan * bukan * pengganti isql lengkap, seperti sqsh (www.sqsh.org). Ini dirancang untuk
       mengandalkan pustaka FreeTDS level terendah, tdslib, sebagai cara untuk mengisolasi bug potensial dalam proto-
       implementasi col.
Nifle
sumber
4

Anda mungkin ingin melihat SQL Workbench / J

Berbasis Java / JDBC sehingga berjalan dengan baik di Linux

Ini mendukung mode GUI , penggunaan commandline interaktif (tidak ada GUI) dan dapat dijalankan dalam mode batch . Ini juga mendukung ekspor ke berbagai format untuk mengambil "dump".

seekor kuda tanpa nama
sumber
4

Anda dapat menggunakan sql-cli untuk terhubung ke instance on-premise dan sql azure. Ini memungkinkan Anda untuk menjalankan kueri satu kali atau menjalankan file skrip menggunakan .runperintah

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]
Muhammad Hasan Khan
sumber
Adakah cara untuk memberitahu cli untuk menggunakan Otentikasi Windows?
TCopple
@Tidak, tidak, tidak mendukung otentikasi windows.
Muhammad Hasan Khan
1

Microsoft membuat pengandar ODBC SQL Server untuk Linux, meskipun hanya biner dan hanya berjalan pada build 64 bit RHEL tertentu. 1 Apa pun yang dapat membuat ODBC (melalui paket driver unixODBC) dapat menggunakannya. Untuk skrip, Anda bisa menggunakan python, perl, atau apa pun yang bermain dengan unixODBC untuk mengotomatisasi tugas.

Paket ini juga dilengkapi dengan versi bcp dan sqlcmd. Sqlcmd akan mendukung kueri interaktif atau memungkinkan kueri tertanam dalam skrip shell.

  1. Meskipun Anda dapat membawanya di build lain dengan menginstal pustaka yang relevan - sebuah proses yang dikenal oleh orang-orang yang membawa Oracle di Linux.
ConcernedOfTunbridgeWells
sumber
0

SqlTool adalah JDBC CLI untuk penggunaan interaktif dan otomatisasi. Itu mendukung ekspor dan impor dengan cara yang mirip dengan Oracle's Sql * Loader (jika Anda terbiasa dengan itu).

Blaine
sumber