1

我们有一个密码包含的 SQL 服务器comma (',')。由于我们在 中使用相同的SQLCmd,因此该过程失败。请在下面找到我们正在使用的查询

SQLCmd -U%1 -P%2 /S%servername% /dDbName -Q"EXEC sp_test null, 'DbName', '\ProcessLog\', 'STORE'" >> %NB4%\ProcessLog.log

该字符串是从不同的命令文件传递的。

但是密码中包含逗号(','),导致进程无法连接SQL Server

有没有办法在参数中添加转义字符?尝试使用双引号('“'),但没有运气。任何帮助将不胜感激。

4

1 回答 1

1

我已经找到了解决方案。由于comma在 中password,之后的部分comma被视为第三个参数,并且由于第一个参数与实际密码不匹配,因此无法建立连接。这是解决方案。非常适合我。

IF "%3" NEQ "" GOTO ThreeParm
IF "%3" == "" GOTO TwoParm
:ThreeParm
SQLCMD -U%1 -P%2,%3 /S%servername% /dTestDB -Q"EXEC sp_test null, 'TestDB', '\Folder\', 'STORE'" >> %NB4%\Folder.log
:TwoParm
SQLCMD -U%1 -P%2 /S%servername% /dTestDB -Q"EXEC sp_test null, 'TestDB', '\Folder\', 'STORE'" >> %NB4%\Folder.log
于 2018-06-29T16:41:45.260 回答