Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server CLR:как да извикате WCF услуга В CLR SQL съхранена процедура в проект на база данни

Намерих това след много търсене и отделих много време за това във VS 2014

  1. Създайте Database Project Нарича се "CLR_Test"
  2. Създайте Library За WCF клиент „CLR_Service_Client“
  3. Добавете Serivce Refrence на услугата wcf към „CLR_Test“, след което добавете препратка към „CLR_Service_Client“ в „CLR_Test“
    4. Трябва да промените опцията на DB, за да можете да изпълнявате опасни сборки с кода по-долу

    ALTER DATABASE SaleAutomation SET TRUSTWORTHY ON RECONFIGURE

  4. В "CLR_Test" Project Properties в SQLCLR набор от раздели Permission level на Unsafe (съществува друг начин след публикуване на проекта да промените нивото му от управление на sql сървър и друг начин е да добавите ниво на разрешение към скрипта за публикуване, можете да използвате всяко от тях,
    но трябва да забележите, че ако използвате от project properties само "CLR_Test" проект автоматично създава Unsafe и трябва да използвате други начини, за да зададете "CLR_Service_Client" Unsafe )

    6. Изпълнете тези скриптове, за да добавите, че Sqlserver може да изпълнява 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. сега публикувате проекта си и изпълнявате съхранена процедура и се наслаждавайте.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 11 начина за връщане на чужди ключове в база данни на SQL Server с помощта на T-SQL

  2. Вмъкване на множество редове в Sybase ASE

  3. Прочетете .NET конфигурацията от базата данни

  4. Грешка на SQL Server 213:Името на колоната или броят на предоставените стойности не съответстват на дефиницията на таблицата.

  5. Извличане на част от низ с помощта на sql