Выполнение скриптов из проекта базы данных в Visual Studio

Я пытаюсь добавить некоторую хранимую процедуру в процесс сборки в Visual Studio (используя MSBuild).

У меня есть проект базы данных (*.dbp), добавленный в мое решение, однако, в отличие от некоторых других проектов баз данных, доступных в VS, я не могу его построить или запустить. (Я считаю, что это файл проекта, который мне нужен, поскольку я использую SQL2000)

Как я могу запустить сценарии SQL при создании проекта? Я могу запустить сценарии, щелкнув правой кнопкой мыши и нажав «Выполнить».


person Bluephlame    schedule 03.08.2009    source источник


Ответы (2)


Проекты базы данных строятся не так, как обычные проекты. Если вы хотите выполнять сценарии внутри этого проекта, я бы посоветовал расширить связанные проекты, совместимые с MSBuild (csproj, vbproj и т. д.), и ссылаться/выполнять свои сценарии оттуда, используя выбранный вами инструмент.

Как вы это реализуете, зависит от вас, например, вы можете подключиться к BeforeBuild нацеливает и выполняет сценарии с помощью задачи SqlExecute.

FWIW, мы должны поддерживать SQL Server 2000, 2005, 2008+, поэтому задача становится намного сложнее; подумайте о NVarchar (max) (2005+) и NText (2000+), а также обо всех переименованиях sp и т. д. между версиями. Мы также хотели единый сценарий, который разработчики, QA и установщик использовали для обеспечения согласованности. Таким образом, наш подход заключался в специальном инструменте, который позволял заменять токены/ключевые слова внутри сценариев, что обеспечивает гибкость между различными версиями SQL Server и установками клиентов (например, сведения о пользователе/логине, имена баз данных), а также интеграцию с различными технологиями, чтобы сценарии могли запускаться из командная строка, MSBuild, пользовательское действие MSI с использованием проектов Wix или все, что нам нужно для их запуска.

person si618    schedule 03.08.2009

Проекты базы данных могут быть построены.

Их нельзя запустить — их можно развернуть.

При развертывании проект создается, а затем развертывается. Код будет развернут вместе со сценариями перед сборкой и после сборки, а также сценариями перед развертыванием и после развертывания.

Поэтому, если вы хотите, чтобы сценарии запускались во время сборки проекта, вам нужно изучить Pre-Build и Post-Build в разделе Build Events в свойствах проекта.

person Raj More    schedule 04.08.2009