Truy cập dòng lệnh Scriptable vào SQL-Server từ linux [đã đóng]


8

Có ai biết về một công cụ dòng lệnh 1 đã sẵn sàng cho phép tôi kết nối từ máy khách linux đến máy chủ sql không?

Tôi muốn có thể chạy các truy vấn tùy ý, nhưng hầu hết thời gian tôi muốn có thể lấy kết xuất cơ sở dữ liệu và sau đó khôi phục nó.

Điều này phải có kịch bản vì nó sẽ tích hợp trong môi trường xây dựng tự động.

1 FYI: Sự thay thế duy nhất khác của tôi là viết một cái gì đó. Có lẽ tôi sẽ sử dụng perl và DBI

Câu trả lời:


6

Tôi tìm thấy tsql và trong khi mục đích chính của nó có thể nằm ở nơi khác, nó đáp ứng nhu cầu của tôi.

Nó được bao gồm trong gói EPEL . Tôi đã cài đặt nó với điều này:
rpm -Uvh http://ftp.df.lth.se/pub/fedora-epel/6/x86_64/epel-release-6-7.noarch.rpm

FreeTDS (ngày 14 tháng 5 năm 2011) FreeTDS (ngày 14 tháng 5 năm 2011)

TÊN
       tsql - tiện ích để kiểm tra các kết nối và truy vấn FreeTDS

TÓM TẮC
       tsql {-S servername [-I interface] | -H tên máy chủ -p port}
              Tên người dùng -U [mật khẩu -P] [tùy chọn -o]

       ts -C

SỰ MIÊU TẢ
       tsql là một công cụ chẩn đoán được cung cấp như một phần của FreeTDS. Nó sử dụng giao thức TDS trực tiếp để con-
       liên kết với Sybase hoặc Microsoft SQL Servers và cho phép người dùng đưa ra các truy vấn kiểm tra capa-
       khả năng của FreeTDS.

       tsql là * không * thay thế cho một isql hoàn chỉnh, chẳng hạn như sqsh (www.sqsh.org). Nó được thiết kế để
       dựa vào thư viện FreeTDS cấp thấp nhất, tdslib, như một cách để cô lập các lỗi tiềm ẩn trong proto-
       thực hiện col.


4

Bạn có thể sử dụng sql-cli để kết nối với cả thể hiện azure tại chỗ và sql. Nó cho phép bạn chạy các truy vấn một lần hoặc chạy các tệp script bằng .runlệnh

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]

Có cách nào để nói với cli sử dụng Windows xác thực không?
TCopple

@TCopple nop, nó không hỗ trợ xác thực windows.
Muhammad Hasan Khan

1

Microsoft tạo trình điều khiển SQL Server ODBC cho Linux, mặc dù nó chỉ là nhị phân và chỉ chạy trên các bản dựng RHEL 64 bit nhất định. 1 Bất cứ điều gì có thể tiêu thụ ODBC (thông qua bộ trình điều khiển unixODBC) đều có thể sử dụng nó. Để tạo kịch bản, bạn có thể sử dụng python, perl hoặc bất cứ thứ gì chơi với unixODBC để tự động hóa các tác vụ.

Gói này cũng đi kèm với các phiên bản của bcp và sqlcmd. Sqlcmd sẽ hỗ trợ truy vấn tương tác hoặc cho phép các truy vấn được nhúng trong các tập lệnh shell.

  1. Mặc dù bạn có thể đưa nó lên các bản dựng khác bằng cách cài đặt các thư viện có liên quan - một quá trình nổi tiếng với những người đưa Oracle lên Linux.

0

SqlTool là một JDBC CLI để sử dụng tương tác và tự động hóa. Nó hỗ trợ xuất và nhập theo cách tương tự như Trình tải Sql * của Oracle (nếu bạn quen với điều đó).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.