2013-05-06 2 views
4

При развертывании SQL-проекта с Visual Studio 2008 мы создаем файл .sql.Ошибка при развертывании SQL-проекта с Visual Studio 2008

В свойствах проекта мы установили действие развертывания: создайте сценарий развертывания. При создании и развертывании проекта .sql генерируется, как ожидалось. При осмотре сгенерированного кода я вижу следующий код SQL:

CREATE ASSEMBLY [System.Core] РАЗРЕШЕНИЕ [DBO] ОТ 0x4D5A9 .... С PERMISSION_SET = SAFE;

Выполнение этой части кода приведет к следующей ошибке.

CREATE ASSEMBLY не удалось, потому что сборка 'System.Core' является сборка системы. Подумайте о создании пользовательской сборки для упаковки желаемых функций.

Почему этот код генерируется в первую очередь, и как я могу предотвратить этот код генерируется? (Насколько я знаю, у нас нет каких-либо хранимых процедур SQLCLR или LINQ в проекте)

ответ

2

Я не уверен в VS2008, но в VS2012 В окне свойств проекта базы данных есть вкладка SQLCLR. Один из вариантов внизу страницы - флажок Generate DDL. Если этот флажок установлен, снимите флажок, затем создайте и сгенерируйте сценарий еще раз.

Третий абзац из How to: Work with CLR Database Objects состояний:

Среды CLR и CLR сборки страницы свойств содержит множество настроек для использования объектов базы данных CLR в вашем проекте. В частности, для свойства CLR страница имеет настройку уровня разрешений для установки разрешений на сборку CLR . Он также имеет параметр «Создать DDL», чтобы определить, генерируется ли DDL для объектов базы данных CLR, добавленных в проект. Страница свойств CLR Build содержит все параметры компилятора, которые вы можете установить, чтобы настроить компиляцию кода CLR в проекте. Эти страницы свойств можно получить, щелкнув правой кнопкой мыши проект в обозревателе решений и выберите пункт Свойства

Для получения дополнительной информации о параметрах SQLCLR в базе данных Свойства проекта можно найти в статье MSDN: http://msdn.microsoft.com/en-us/library/hh272681(v=vs.103).aspx#bkmk_sqlclr_sqlclrbuild

+0

Благодарим за ваш ответ. Это звучит как ответ, который я ищу. Когда я вернусь в офис, я найду флажок и вернусь к вам. –

+0

Я проверил параметры проекта в Visual Studio 2008, но я не могу найти вариант ** Создать DDL **. –

+0

В проекте базы данных, в разделе Ссылки есть ли какая-либо ссылка на System.Core? Если это так, удалите его и повторите попытку. –