Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server CLR:jak wywołać usługę WCF W procedurze składowanej CLR SQL w projekcie bazy danych

Znalazłem to po wielu poszukiwaniach i spędziłem bardzo dużo czasu w VS 2014

  1. Utwórz Database Project Nazywany „CLR_Test”
  2. Utwórz Library Dla klienta WCF „CLR_Service_Client”
  3. Dodaj Serivce Refrence usługi wcf na „CLR_Test”, a następnie dodaj referencję „CLR_Service_Client” do „CLR_Test”
    4. Musisz zmienić opcję DB, aby móc uruchamiać niebezpieczne zestawy z poniższym kodem

    ALTER DATABASE SaleAutomation SET TRUSTWORTHY ON RECONFIGURE

  4. W "CLR_Test" Project Properties w SQLCLR tab set Permission level na Unsafe (istnieje inny sposób, że po opublikowaniu projektu zmieniasz jego poziom z zarządzania serwerem sql i dodajesz poziom uprawnień do skryptu publikowania, możesz użyć każdego z nich,
    ale musisz zauważyć, że jeśli używasz project properties tylko projekt "CLR_Test" automatycznie tworzy Unsafe i musisz użyć innych sposobów, aby ustawić "CLR_Service_Client" Unsafe )

    6.Uruchom te skrypty, aby dodać serwer Sql, aby móc uruchomić usługę wcf

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. teraz publikujesz swój projekt, uruchamiasz procedurę składowaną i cieszysz się.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Łączenie WSZYSTKICH użytkowników z loginem po przywróceniu bazy danych SQL Server 2005

  2. Przedstawiamy nową funkcję:Zawsze włączona grupa dostępności

  3. LPAD w SQL Server 2008

  4. Dlaczego mogę uruchomić SSIS Fuzzy Grouping z programu Visual Studio, ale nie z wdrożonego pakietu?

  5. Utworzyć użytkownika dla SQL Server 2008?