3

Visual Studio 2010 で正しくビルドされた tSQLt を使用するデータベース プロジェクトが多数あります。それらを 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 に答える