3

我有许多使用 tSQLt 在 Visual Studio 2010 中正确构建的数据库项目。当我在 Visual Studio 2012 中打开它们时,我被告知 IDE 必须进行“功能更改”才能使用它们。

一旦我让转换通过,就没有一个数据库项目能够成功构建。相反,似乎 tSQLt 架构中的任何对象都会引发有关 sys.objects 的错误,如下所示:

{Path}.Database.Messages\Schema Objects\Schemas\tSQLt\
Programmability\Functions\Private_GetConstraintType.function.sql(6,10):
Error:  SQL71501: Function: [tSQLt].[Private_GetConstraintType] has an 
unresolved reference to object [sys].[objects].

转换似乎没有以任何方式更改命名脚本。这是怎么回事?(以及如何调查这样的问题。这很神秘。)

4

1 回答 1

3

tSQLt 函数[tSQLt].[Private_GetConstraintType]从位于msdb系统数据库中的sys.objects中选择。

您需要将对msdb(或master)数据库的数据库引用添加到 Visual Studio 2012(数据工具)中的数据库项目中。

为此,请转到解决方案->项目->参考->添加数据库参考(见下面的屏幕截图)

在此处输入图像描述

并添加对系统数据库msdb的引用。这应该会有所帮助。

在此处输入图像描述

于 2013-05-25T18:30:28.137 回答