sql >> Database >  >> RDS >> Sqlserver

Aangepaste CLR van SQL Server mislukt met fout Kan bestand of assembly of een van de afhankelijkheden ervan niet laden. Het systeem kan het gespecificeerde bestand niet vinden.

Wat u probeert te doen, wordt niet ondersteund door de CLR-host van SQL Server. De CLR binnen SQL Server is zeer beperkt om destabilisatie van SQL Server te voorkomen, omdat deze anders werkt dan apps die op het besturingssysteem worden uitgevoerd. Er is dus een zeer beperkte set DLL's die wordt ondersteund (d.w.z. geverifieerd om te werken en gegarandeerd te blijven werken bij updates naar .NET). WindowsBase is daar niet een van, dus u zou het handmatig moeten laden als UNSAFE in SQL Server. Maar dat laat je achter met het probleem dat je tegenkwam met de versie in de hoofd-GAC die verandert (DLL's die gemeenschappelijk zijn tussen de GAC en de CLR-host van SQL Server moeten dezelfde versie zijn), of erger nog, als de DLL "gemengd" wordt. (zowel onbeheerde C++ als beheerde code) en is niet langer "puur". In dat geval wordt de nieuwe versie niet geladen en krijgt de oude versie de foutmelding "verkeerde versie", dus je hebt wat werk te doen.

Raadpleeg de volgende artikelen / documentatie voor meer gedetailleerde informatie:

Die reeks links is afkomstig uit de sectie "Aanvullende lezing" van een artikel dat ik schreef:Stairway to SQLCLR Level 5:Development (Gebruik van .NET binnen SQL Server) .

Voor meer informatie over het werken met SQLCLR in het algemeen, bezoek mijn site:SQLCLR Info




  1. SQL SERVER-procedure Inconsistente prestaties

  2. Formulier in PDO om gegevens bij te werken

  3. Gelijkaardige tags samenvoegen in een XML-bestand

  4. Een inleiding tot MySQL-gegevenstypen