我不是第一个注意到缺少此功能的人。
但我想知道是否有一些有用的解决方法。我想在同一个文件夹中部署一个主脚本和一些依赖脚本。
顺便说一句,Microsoft Connect 上有票吗?
编辑:
锁定于此,似乎等同于在 sqlcmd 模式下运行的脚本是否可以确定其在文件系统中的路径的问题。
第二次编辑:
从SO我找到了一种将脚本路径传递到 sqlcmd 的方法
sqlcmd -S myServer -d myDB -U user -P password -i file1.sql -v p1="D:\myscripts"
Run Code Online (Sandbox Code Playgroud)
我可以验证它是否传递给 File1.sql
PRINT '$(p1)'
:setvar path1 $(p1) + '\file1.sql'
:r $(path1)
Run Code Online (Sandbox Code Playgroud)
但是我没有找到在第二行中连接路径和文件名的正确方法。
第三次编辑: 我在这里找到了连接路径和文件名的解决方案。
PRINT '$(p1)'
:r $(p1)\file1.sql
Run Code Online (Sandbox Code Playgroud)
还有更好的方法吗?