sqlcmd的SQL Server登录问题

问题描述

我正尝试使用sqlcmd命令在Ubuntu中运行文件,如下所示。我们根据标准设置了复杂的密码。使用该命令,我收到一条错误消息,提示用户“ username”的登录失败”。

sqlcmd -S ${servername} -d ${dbname}  -U ${sqlusername}  -P ${sqlpassword} 
       -I -i ${inputfile} -s"|" -r1 1>${logfile} 2>${errorfile}

我试图通过在单引号中提供带有密码的值来执行相同的操作。效果很好

因为我们不能对密码进行硬编码。我尝试了此处显示内容,但没有用。

sqlcmd -S ${servername} -d ${dbname} -U ${sqlusername} -P '${sqlpassword}'
sqlcmd -S ${servername} -d ${dbname} -U ${sqlusername} -P "${sqlpassword}"
sqlcmd -S ${servername} -d ${dbname} -U ${sqlusername} -P \'${sqlpassword}\'

有人可以帮我吗-我做错了吗?

解决方法

感谢@Larnu的评论。

由密码引起的错误带有美元符号。