GNU/Linux >> Belajar Linux >  >> Linux

Menggunakan variabel dalam SQLCMD untuk Linux

Dalam versi RTP (11.0.1790.0), -v switch tidak muncul dalam daftar parameter saat menjalankan sqlcmd -? . Rupanya opsi ini tidak didukung di bawah versi Linux dari alat tersebut.
Sejauh yang saya tahu, mengimpor nilai parameter dari variabel lingkungan juga tidak berfungsi.

Jika Anda memerlukan solusi, salah satu caranya adalah menggabungkan satu atau lebih :setvar pernyataan dengan file teks yang berisi perintah yang ingin Anda jalankan ke dalam file baru, lalu jalankan file baru tersebut. Berdasarkan contoh Anda:

echo :setvar param1 DUMMYVALUE > param_input.sql
cat input.sql >> param_input.sql
sqlcmd -S server -d database -U user -P pass -i param_input.sql 

Anda dapat mengekspor variabel di linux. Setelah itu Anda tidak perlu meneruskan variabel di sqlcmd . Namun, saya perhatikan Anda perlu mengubah skrip sql Anda dan menghapus :setvar perintah jika tidak memiliki nilai default.

export dbName=xyz
sqlcmd -Uusername -Sservername -Ppassword -i script.sql


:setvar dbName  --remove this line
USE [$(dbName)]
GO

Anda tidak perlu meneruskan variabel ke sqlcmd. Ini secara otomatis mengambil dari variabel shell Anda:mis.

ekspor param1=DUMMYVALUE

sqlcmd -S $host -U $user -P $pwd -d $db -i input.sql


Linux
  1. Menggunakan di untuk pekerjaan cron sekali pakai di Linux

  2. Menggunakan ssh-keygen dan berbagi untuk otentikasi berbasis kunci di Linux

  3. Panduan Lengkap untuk Menggunakan AsciiDoc di Linux

  1. 7 trik praktis untuk menggunakan perintah wget Linux

  2. Mensimulasikan acara Key Press menggunakan Python untuk Linux

  3. Bagaimana cara menginstal Microsoft SQL Server untuk linux (fedora)?

  1. Kiat Linux untuk menggunakan Layar GNU

  2. Debug Linux menggunakan ProcDump

  3. Menggunakan AppImage untuk manajemen paket Linux