Pregunta

Estoy intentando agregar algún procedimiento almacenado a un proceso de compilación en Visual Studio (usando MSBuild).

Tengo un proyecto de base de datos (* .dbp) agregado a mi solución, sin embargo, a diferencia de algunos de los otros proyectos de bases de datos disponibles en VS, no puedo compilarlo ni ejecutarlo. (Creo que este es el archivo del proyecto que quiero ya que estoy usando SQL2000)

¿Cómo puedo ejecutar los scripts SQL mientras construyo el proyecto? Puedo ejecutar los scripts haciendo clic derecho y presionando ejecutar.

¿Fue útil?

Solución

Los proyectos de base de datos no se crean como proyectos normales Si desea ejecutar scripts dentro de este proyecto, mi consejo sería extender los proyectos asociados que son compatibles con MSBuild (csproj, vbproj, etc.) y hacer referencia / ejecutar sus scripts desde allí utilizando su herramienta de elección.

La forma en que lo implemente depende de usted, por ejemplo, puede conectarse a objetivo BeforeBuild y ejecutar scripts utilizando tarea SqlExecute .

FWIW, tenemos que admitir SQL Server 2000, 2005, 2008+, por lo que la tarea se vuelve mucho más difícil; piense en NVarchar (max) (2005+) vs NText (2000+) más todos los cambios de nombre, etc. entre versiones. También queríamos un solo script que los desarrolladores, el control de calidad y el instalador usaran para garantizar la coherencia. Por lo tanto, nuestro enfoque era una herramienta personalizada que permitía el reemplazo de tokens / palabras clave dentro de los scripts, lo que proporciona flexibilidad entre las diferentes versiones de SQL Server y las instalaciones de los clientes (por ejemplo, detalles de usuario / inicio de sesión, nombres de base de datos), así como la integración en varias tecnologías para que los scripts puedan ejecutarse desde línea de comando, MSBuild, acción personalizada de MSI usando proyectos Wix, o lo que sea que necesitemos para ejecutar.

Otros consejos

Se pueden construir proyectos de bases de datos.

No se pueden ejecutar, se pueden implementar.

Cuando implementa, el proyecto se construye y luego se implementa. El código se implementará junto con los scripts previos a la compilación y posteriores a la compilación, y los scripts previos a la implementación y posteriores a la implementación.

Por lo tanto, si desea que los scripts se ejecuten a medida que CONSTRUYE el proyecto, debe buscar en Pre-Build y Post-Build en Build Events en las propiedades del Proyecto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top