Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
178 views
in Technique[技术] by (71.8m points)

How to bind the -v parameter of sqlcmd from a PowerShell

The following code, setting the -v parameter directly is working

$sqlcmd = @(Resolve-Path "$env:ProgramFilesMicrosoft SQL Server*ToolsinnSQLCMD.EXE")[0]

$path1 = 'D:somescript.sql'

& $sqlcmd -b -S NB-BKSQLEXPRESS -d BK_Prod -U sa -P mypassword -l 180 -i $path1 -v Mandant=1 SAPMandant="009" SAPEinrichtung="0001" 

But I need a way to set these values from a PowerShell variable.

I tried:

$sqlcmd = @(Resolve-Path "$env:ProgramFilesMicrosoft SQL Server*ToolsinnSQLCMD.EXE")[0]

$path1 = 'D:somescript.sql'

$sqlcmdparameters = 'Mandant=1 SAPMandant="009" SAPEinrichtung="0001" '
& $sqlcmd -b -S NB-BKSQLEXPRESS -d BK_Prod -U sa -P mypassword -l 180 -i $path1 -v $sqlcmdparameters

I found this on SO, but it didn't help me.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I found the following solution for PowerShell V2

$sqlcmd = @(Resolve-Path "$env:ProgramFilesMicrosoft SQL Server*ToolsinnSQLCMD.EXE")[0]
$path1 = 'D:somescript.sql'
$cmdparameters = @(
    'Mandant=1',
    'SAPMandant="009"'
)

& $sqlcmd -b -S NB-BKSQLEXPRESS -d BK_Prod -U sa -P mypassword -l 180 -i $path1 -v $cmdparameters

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...