Как получить относительный путь к файлу в режиме SQLCMD в SSMS?

У меня есть приведенный ниже мастер-скрипт, который создает таблицы, вставляет некоторые данные, а затем создает хранимые процедуры.

--todo_master.sql

use master
go

:r todo_create_ddl.sql
:r todo_create_dml.sql
:r todo_create_sprocs.sql
go

Однако, несмотря на то, что todo_master.sql находится в том же пути, что и три других скрипта, он не может найти эти три скрипта.

Я получаю следующую ошибку:

A fatal scripting error occurred.
The file specified for :r command was not found.

Если я укажу полный путь, как показано ниже, эти файлы будут найдены и выполнены как положено.

"C:\Docs and Settings\user\My Docs\SSMS\Projects\todo_create_ddl.sql"

Что я могу упустить?


Edit Как предложил Джейсон, я попробовал следующее, но все равно получаю ту же ошибку:

use master
go

:setvar path "C:\Documents and Settings\user\My Documents\SQL Server Management Studio\Projects"
:setvar ddl "todo_create_ddl.sql"
:setvar dml "todo_create_dml.sql"
:setvar sprocs "todo_create_sprocs.sql"

:r $(path)$(ddl)
:r $(path)$(dml)
:r $(path)$(sprocs)
go
15
задан Animesh 6 January 2012 в 08:37
поделиться