Dav*_*ans 11 powershell sqlcmd
我正在尝试编写一个powershell脚本,它将执行sqlcmd.exe来运行sql脚本.该脚本包含一个SQLCMD变量,我想通过sqlcmd的-v开关在命令行中传入该变量.问题是,PowerShell是做一些奇怪的,当我经过的路径作为我的变量,而这又导致SQL脚本失败的一个值.
比如说我打电话:
$path = 'C:\path'
sqlcmd -SMySQLServerInstance -i 'MySqlScript.sql' -v MyVariablePath=$path
Run Code Online (Sandbox Code Playgroud)
运行时我收到一个错误,上面写着:
Sqlcmd: ':\path': Invalid argument.
Run Code Online (Sandbox Code Playgroud)
没有我试过的双重或单引号$path
或MyVariablePath=$path
解决问题.
有人可以提供一个简单的规范示例,说明如何做到这一点?
Dav*_*ans 19
终于解决了.对于下一个尝试这个的吸盘是解决方案
powershell脚本看起来像
$myPath = "`"C:\Path`""
sqlcmd.exe -SmySQLInstance -i./test.sql -v myvar=$myPath
Run Code Online (Sandbox Code Playgroud)
我的test.sql文件然后可以像这样使用变量
PRINT "$(myvar)"
Run Code Online (Sandbox Code Playgroud)
这里的关键是理解powershell如何逃避角色.关于这里的更多信息
归档时间: |
|
查看次数: |
7355 次 |
最近记录: |