2010-04-02 4 views
13

Je viens de commencer à travailler avec le projet de base de données Visual Studio 2010 Premium. Je dois dire que ça fait du rock. Une chose que je ne peux pas comprendre comment éviter l'avertissement SQL04151Projet de base de données de construction VS 2010 recevoir SQL04151

Procédure:. [Dbo] [MyProc] a une référence non résolue à l'objet [MaBase] [dbo] [MyItem]...

Ai-je manqué une étape simple quelque part? Tout ce que je peux trouver en ligne implique tempdb.

+0

Si [MyDatabase] est la même base de données où [dbo]. [MyProc] est situé, il peut être plus avantageux de supprimer [MyDatabase]. (ou [$ (DatabaseName)].) préfixes. Si vous installez plusieurs instances sur le même serveur pour les environnements de test, de test ou de développement, vous n'obtiendrez pas les résultats escomptés et vous ne le réaliserez peut-être même pas, car les références risquent d'être rompues ou de référencer la mauvaise instance. –

Répondre

3

Dans votre procédure [dbo].[MyProc], vous faites référence à [MyDatabase].[dbo].[MyItem] qui ne fait probablement pas partie de votre projet de base de données. Même si l'objet existe dans la base de données, il n'est pas connu de Visual Studio lors de la compilation et génère donc une erreur.

Normalement, vous devriez avoir tout le schéma DB dans le projet DB. Sinon, je pense qu'il y a quelque chose qu'on appelle des «projets de DB partiels» que vous pouvez examiner.

+0

En fait, tous les objets font partie du projet DB. La procédure stockée est dans MyDatabase. J'ai accepté les valeurs par défaut lorsque j'ai créé le projet, mais je pense que j'ai raté quelque chose en cours de route. – beezler

14

Je dois substituer [MyDatabase]. [Dbo]. [MyTable] avec [$ (DatabaseName)]. [Dbo]. [MyTable]. Cela a éclairci les avertissements.

Merci pour votre aide.

+7

Marquer cet élément comme la bonne réponse le déplacera vers le haut de la page, ce qui le rendra plus facile à trouver pour les autres. – Pedro

+0

Expérimenté exactement le même problème, cela a résolu, merci. –

0

Vérifiez que vous avez défini Build Action à Construire dans le volet des propriétés de l'objet spécifié ..

Questions connexes