Question

J'utilise "SQL SERVER PROJECT". dans VS 2008 pour créer UDF en C # J'utilise ensuite la commande DEPLOY pour publier une DLL sur MS SQL Server 2005

Tout fonctionne bien, sauf que tous les fichiers UDF créés sont la propriété de moi (en tant qu'utilisateur) Mais je voulais conserver le schéma dbo (par exemple: dbo.UDF_TEST - pas jonny.UDF_TEST)

Avez-vous une idée de comment gérer cela?

Était-ce utile?

La solution 2

J'ai trouvé une autre approche permettant de tout faire à l'intérieur de VS.

J'ai ajouté au script SQL du projet nommé "postdeployscript.sql":

DÉCLAREZ @SQL NVARCHAR (200)

SET @SQL = 'modifier le transfert dbo du schéma' + CURRENT_USER + '. [UDF_GET_AUDIT_VALUE]'

EXECUTE (@SQL)

GO

Le script

est exécuté automatiquement par VS au cours du processus de dépolyse et modifie les schémas de l'utilisateur actuel à DBO.

Inconvénients: vous devez ajouter chaque fichier UDF / USP que vous citez manuellement

PS: Veuillez noter que vous pouvez également utiliser predeployscript.sql pour exécuter certaines commandes avant le déploiement

Autres conseils

déployez la fonction utilisateur à partir d'un compte sysadmin ou dbo sur la base de données. Vous pouvez créer la dll puis la déployer manuellement en vous connectant à la base de données Management Studio en tant que dbo et en exécutant les commandes suivantes:

  

Géocode CREATE ASSEMBLY FROM

     

'C: \ PATH \ YourUDF.dll' AVEC

     

PERMISSION_SET = SAFE

ou

  1. À partir de Visual Studio, dans le solution explorer cliquez sur l'UDF projet (pas la solution).
  2. Accédez aux propriétés.
  3. Cliquez sur l'onglet base de données.
  4. Vous pouvez changer la connexion string, et change également l'assemblage propriétaire ici.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top