Проект базы данных сборки VS 2010 получает SQL04151

Я только начал работать с проектом базы данных Visual Studio 2010 Premium. Я должен сказать, что это действительно круто. Я не могу понять, как избежать предупреждения SQL04151.

Процедура: [dbo]. [MyProc] имеет неразрешенную ссылку на объект [MyDatabase]. [Dbo]. [MyItem].

Я где-то пропустил простой шаг? Все, что я могу найти в Интернете, касается tempdb.


person beezler    schedule 02.04.2010    source источник
comment
Если [MyDatabase] - это та же база данных, где находится [dbo]. [MyProc], может быть более выгодным удалить [MyDatabase]. (или [$ (DatabaseName)].) префиксы. Если вы установите несколько экземпляров на одном сервере, скажем, для сред тестирования или разработки, вы не получите ожидаемых результатов и можете даже не осознавать этого, потому что ссылки могут быть нарушены или работать при обращении к неправильному экземпляру.   -  person JM Hicks    schedule 02.01.2013


Ответы (4)


Мне нужно заменить [MyDatabase]. [Dbo]. [MyTable] на [$ (DatabaseName)]. [Dbo]. [MyTable]. Это сняло предупреждения.

Спасибо за вашу помощь.

person beezler    schedule 05.04.2010
comment
Если вы отметите этот элемент как правильный ответ, он переместится в верхнюю часть страницы, что облегчит его поиск другим пользователям в дальнейшем. - person Pedro; 20.07.2010
comment
Испытал точно такую ​​же проблему, это решило ее, спасибо. - person VikingProgrammer; 18.04.2012

В вашей [dbo].[MyProc] процедуре вы ссылаетесь на [MyDatabase].[dbo].[MyItem], который, вероятно, не является частью вашего проекта БД. Несмотря на то, что объект существует в базе данных, он не известен Visual Studio во время компиляции, поэтому возникает ошибка.

Обычно у вас должна быть вся схема БД в проекте БД. В противном случае я думаю, что есть что-то, называемое «частичными проектами БД», которые вы можете изучить.

person Anders Abel    schedule 02.04.2010
comment
Фактически все объекты являются частью проекта БД. Хранимая процедура находится в MyDatabase. Я принял значения по умолчанию при создании проекта, но полагаю, что я что-то упустил в процессе. - person beezler; 05.04.2010

MS признала это ошибкой, над которой они работают:

https://connect.microsoft.com/VisualStudio/feedback/details/543657/4151-unresolved-reference-warning-for-tempdb

person LeWoody    schedule 02.07.2010
comment
Ссылка не работает. Удалите ?wa=wsignin1.0 в конце URL-адреса. - person Bernhard Hofmann; 18.03.2013
comment
Я не понимаю, как это связано? В OP не упоминается tempdb. - person cdonner; 16.07.2013

Убедитесь, что вы установили Действие сборки на Построить на панели свойств для указанного объекта.

person Karsten Laursen    schedule 01.03.2012