sql >> Databáze >  >> RDS >> Sqlserver

SQL Server CLR:jak volat službu WCF V CLR SQL uložená procedura v databázovém projektu

Našel jsem to po dlouhém hledání a trávil jsem tím hodně času ve VS 2014

  1. Vytvořte Database Project Nazývá se „CLR_Test“
  2. Vytvořte Library Pro klienta WCF "CLR_Service_Client"
  3. Přidejte Serivce Refrence služby wcf na "CLR_Test" a poté přidejte odkaz "CLR_Service_Client" do "CLR_Test"
    4. Musíte změnit volbu DB tak, aby bylo možné spouštět nebezpečné sestavení pomocí níže uvedeného kódu

    ALTER DATABASE SaleAutomation SET TRUSTWORTHY ON RECONFIGURE

  4. V "CLR_Test" Project Properties v SQLCLR sada karet Permission level na Unsafe (jiným způsobem je, že po publikování projektu změníte jeho úroveň ze správy serveru SQL a dalším způsobem je přidání úrovně oprávnění do skriptu publikování, můžete použít každý z nich,
    ale musíte si všimnout, že pokud použijete z project properties pouze projekt "CLR_Test" automaticky vytvoří Unsafe a musíte použít jiné způsoby, jak nastavit "CLR_Service_Client" na Unsafe )

    6. Spuštěním těchto skriptů přidejte Sqlserver, aby mohl spouštět službu 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. nyní publikujete svůj projekt, spustíte uloženou proceduru a užíváte si to.


  1. Formátovat datum v MySQL, aby se vrátil název měsíce, rok

  2. Jak SUBDATE() funguje v MariaDB

  3. Změňte funkci SQL serveru tak, aby přijímala nový volitelný parametr

  4. PHP dotaz nevrací žádné výsledky