我如何逃避“&” Sql server中的符号

时间:2013-08-10 08:44:06

标签: sql-server powershell xp-cmdshell

我必须在查询编辑器中执行以下代码

Exec xp_cmdshell 'sqlps -command "$http=New-Object system.Net.WebClient;$http.uploadString(\"http://192.168.2.3:8080/ThermalMap/DBTest.jsp\",\"param1=somevalue & param2=thriu\")"'

它给了我错误。

但是下面的代码运行良好,并给我输出

Exec xp_cmdshell 'sqlps -command "$http=New-Object system.Net.WebClient;$http.uploadString(\"http://192.168.2.3:8080/ThermalMap/DBTest.jsp\",\"param1=somevalue\")"'

这里在第二个代码中传递单个参数,我没有得到任何错误如果我传递两个参数我需要添加“&”符号和我得到错误。我怎么能逃脱“&”符号在这里?

1 个答案:

答案 0 :(得分:2)

根据this article你需要逃避这样的&符号:^&。未转义的&符号被视为命令分隔符。