Ошибки «Модель уже содержит элемент» (TSD04105) при использовании базы данных Visual Studio 2008 Project GDR2 - PullRequest
4 голосов
/ 21 июля 2010

Я использую Visual Studio 2008 Database Project GDR2 для управления несколькими базами данных и получаю ряд ошибок, связанных с синонимами.

Project-A имеет ссылку на Project-B, потому что Project-A имеет ряд синонимов к таблицам в Project-B. Я получаю полную ошибку: «TSD04105: в модели уже есть элемент с таким же именем dbo. [OBJECT]». Это всегда указывает на синоним.

Кажется, проблема в том, что синоним в Project-A имеет то же имя, что и таблица в Project-B. Очевидно, что я мог бы переименовать все свои синонимы, чтобы они имели имена, отличные от таблиц, но это вводит МНОГО работы с моей стороны (на сегодняшний день существует более 140 синонимов).

Удаление ссылки на Project-B избавит от этой ошибки, но вместо этого все мои хранимые процедуры в Project-A генерируют ошибки, потому что они больше не могут ссылаться на таблицы в Project-B.

Есть ли способ исправить эту проблему, кроме переименования всех синонимов? Как правильно справиться с этой ситуацией в проекте базы данных?

1 Ответ

3 голосов
/ 13 июня 2011

У меня была эта проблема между проектом сервера 2008 и проектом базы данных, и я решил ее, используя буквальное значение переменной базы данных.

Ссылка на свойства проекта -> Вкладка «Ссылки» -> Значение переменной базы данных

Я бы сказал, что вы также можете использовать пару Имя / Значение переменной базы данных.

...