sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server CLR:hvordan man kalder WCF Service I CLR SQL lagret procedure i databaseprojekt

Jeg fandt dette efter meget søgning og brugte meget tid på dette i VS 2014

  1. Opret Database Project Kaldes "CLR_Test"
  2. Opret Library For WCF-klient "CLR_Service_Client"
  3. Tilføj Serivce Refrence af wcf-tjenesten til "CLR_Test", og tilføj derefter referencen for "CLR_Service_Client" til "CLR_Test"
    4. Du skal ændre DB-indstillingen for at kunne køre usikre assemblyes med nedenstående kode

    ALTER DATABASE SaleAutomation SET TRUSTWORTHY ON RECONFIGURE

  4. I "CLR_Test" Project Properties i SQLCLR fanesæt Permission level til Unsafe (Der findes en anden måde, at du efter publiceringsprojekt ændrer dets niveau fra sql-serverstyring, og en anden måde er, at du tilføjer tilladelsesniveau til scriptet for publicering, kan du bruge hver af dem,
    men du skal bemærke, at hvis du bruger fra project properties kun "CLR_Test"-projektet opretter automatisk Unsafe og du skal bruge andre måder at indstille "CLR_Service_Client" Unsafe )

    6.Kør dette script for at tilføje Sqlserver være i stand til at køre wcf service

CREATE ASSEMBLY 
SMDiagnostics from
'C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\SMDiagnostics.dll'
with permission_set = UNSAFE
GO

CREATE ASSEMBLY 
[System.Web] from
'C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.Web.dll'
with permission_set = UNSAFE
GO

CREATE ASSEMBLY 
[System.Messaging] from
'C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Messaging.dll'
with permission_set = UNSAFE
 GO

CREATE ASSEMBLY  
[System.IdentityModel] from
'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\System.IdentityModel.dll'
with permission_set = UNSAFE
GO

CREATE ASSEMBLY  
[System.IdentityModel.Selectors] from
'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\System.IdentityModel.Selectors.dll'
with permission_set = UNSAFE
GO

CREATE ASSEMBLY -- this will add service modal
[Microsoft.Transactions.Bridge] from
'C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\Microsoft.Transactions.Bridge.dll'
with permission_set = UNSAFE
GO

CREATE ASSEMBLY -- this will add service modal
[System.Runtime.Serialization] from
'C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\System.Runtime.Serialization.dll'
with permission_set = UNSAFE
GO
CREATE ASSEMBLY -- this will add service modal
[System.ServiceModel] from
'C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\System.ServiceModel.dll'
with permission_set = UNSAFE
GO
  1. nu udgiver du dit projekt og kører den lagrede procedure og nyder det.


  1. MySQL Statisk Hash-indeks

  2. Gruppér række efter sum af specifik kolonne lig med specifik værdi

  3. Postgres on Rails FATAL:database eksisterer ikke

  4. MySQL:Opsummer alle tabelrækker i en enkelt forespørgsel