有没有方法访问T种子脚本中的visual studio环境变量 (如$(SolutionDir) )?基本上,我有一组种子脚本,但我尽量避免引用硬代码路径(如C:\projects**\seeding.sql ),而是使用$(SolutionDir)Seeding.sql。
发布于 2013-07-25 14:44:56
以下是在MSDN数据库项目中使用SQL中的项目变量的一般过程:
如何:为数据库项目定义变量
这取决于您使用的是哪个版本的Visual (以及您是否使用数据库项目-强烈推荐),但是总的思想是,您可以将一些项目变量指定为SQLCMD变量,使用这些变量构建SQLCMD脚本,在运行构建时,系统将使用SQLCMD调用脚本,并根据需要应用这些变量来运行脚本。
更重要的是,数据库项目推荐的“种子”脚本和其他构建后构件的实践是将一个SQL脚本指定为构建后脚本,并让它使用SQLCMD语法调用其他.sql脚本文件。
因此,在我的项目(例如)中,我将这个SQL脚本放在一个脚本文件夹中:
:r .\PopulateNumbersTable.sql
:r .\Insert.Dimension.Date.sql
:r .\FillInMetaData.sql
:r .\Permissions.sql然后调用在SQLCMD模式下运行的每个脚本(也使用相对路径在文件夹中)。例如,在PopulateNumbersTable.sql中,我将numbers表的最大值设置为SQLCMD变量,以便脚本在编译后运行时使用该值。
总之,查看SQLCMD和VS数据库项目,它基本上涵盖了您要寻找的内容,它非常灵活,而且(对我来说)非常容易理解。
https://stackoverflow.com/questions/17844233
复制相似问题