Pregunta

Estoy interesado en la configuración de Visual Studio (2010), de modo que, cuando implemente proyectos de base de datos C # CLR, pone cosas en esquemas distintos de DBO. Entiendo que puedo actualizar la función / procedimiento / etc ... envoltorios que crea manualmente para que esto suceda: :? cómo configurar el esquema / propietario

Sin embargo, me gusta mucho para automatizar el proceso de alguna manera. Si alguien sabe, yo realmente aprecio la respuesta!

¿Fue útil?

Solución

Se debe mencionar que esta pregunta es obsoleta a partir de Visual Studio 2012 que tiene un campo de configuración "Default esquema" para el T-SQL generado envoltura de objetos. Esto también se ha observado en la sección "Actualizar" en la parte superior de la siguiente respuesta ; -)

CLR procedimientos almacenados: cómo configurar el esquema / propietario?

Otros consejos

Puede cambiar el procedimiento almacenado de un esquema a otro utilizando

ALTER SCHEMA Org TRANSFER dbo.spUdpateCompany

Parece ser relacionados con la seguridad y el hecho "de diseño". http://support.microsoft.com/kb/918346

Puedes poner guiones para cada objeto en el script de implementación post como a continuación. A continuación guión recrea procedimiento almacenado con el esquema [Org]. Espero que esto ayude.

Paso 1 - Retire el procedimiento almacenado añade automáticamente por el proyecto, ya que se crea con el esquema por omisión [dbo]

.
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spUpdateCompany]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[spUpdateCompany]
GO

Paso 2 -. Retirar procedimiento almacenado si ya existen en [Org] esquema y volver a crear procedimiento almacenado en [Org] esquema

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[Org].[spUpdateCompany]') AND type in (N'P', N'PC'))
DROP PROCEDURE [Org].[spUpdateCompany]
GO



CREATE PROCEDURE [Org].[spUpdateCompany]
    @Id int,
    @Name [nvarchar](4000)
WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [SQLServerProject.CLR].[StoredProcedures].[spUpdateCompany]
GO

En las propiedades SQLCLR para el proyecto SSDT, puede desactivar la opción "Generar DDL". A continuación, puede crear su propio objeto SQL que se conecta al CLR montaje. Por ejemplo, añadir un nuevo procedimiento almacenado como

CREATE PROCEDURE [schema].[StoredProcedure] @parameter BIGINT NULL AS EXTERNAL NAME [AssemblyNameFromProjectProperties].[ClassWithProcedure].[Method]; GO

Esto le permitirá poner diferentes objetos en diferentes esquemas

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