GNU/Linux >> Znalost Linux >  >> Linux

Použití proměnných v SQLCMD pro Linux

Ve verzi RTP (11.0.1790.0), -v přepínač se neobjeví v seznamu parametrů při provádění sqlcmd -? . Tato možnost zřejmě není podporována ve verzi nástroje pro Linux.
Pokud mohu říci, import hodnot parametrů z proměnných prostředí také nefunguje.

Pokud potřebujete řešení, jedním ze způsobů by bylo zřetězení jednoho nebo více :setvar příkazy s textovým souborem obsahujícím příkazy, které chcete spustit, do nového souboru a poté spusťte nový soubor. Na základě vašeho příkladu:

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 

Proměnnou můžete exportovat v linuxu. Poté již nebudete muset předávat proměnnou v sqlcmd . Všiml jsem si však, že budete muset změnit svůj skript SQL a odstranit :setvar příkaz, pokud nemá výchozí hodnotu.

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


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

Nemusíte předávat proměnné do sqlcmd. Automaticky vybírá z proměnných vašeho shellu:např.

export param1=DUMMYVALUE

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


Linux
  1. Linuxové tipy pro používání cronu k plánování úloh

  2. 7 praktických triků pro použití příkazu wget pro Linux

  3. Použití AppImage pro správu balíčků Linuxu

  1. Linuxové tipy pro používání GNU Screen

  2. Jak nainstaluji Microsoft SQL Server pro linux (fedora)?

  3. Je SQL Server Express k dispozici pro produkci v Linuxu?

  1. Ladění Linuxu pomocí ProcDump

  2. Použití at pro jednorázové úlohy cron v Linuxu

  3. Použití ssh-keygen a sdílení pro ověřování založené na klíčích v Linuxu