Ho una procedura memorizzata CLR che fa riferimento a un assembly creato in VS 2008 che utilizza Linq. Chiamiamo questo assembly "MyLib".Utilizzo di .Net 3.5 assembly SQL 2005 CLR?
Non riesco a ottenere "MyLib" nel mio database SQL 2005. Faccio la seguente:
CREATE ASSEMBLY [MyLib]
FROM 'C:\MyLib\bin\Release\MyLib.dll'
WITH PERMISSION_SET = UNSAFE
GO
Ma ottengo l'errore:
Assembly 'MyLib' references assembly 'system.core, version=3.5.0.0,
culture=neutral, publickeytoken=b77a5c561934e089.', which is not present
in the current database. SQL Server attempted to locate and automatically
load the referenced assembly from the same location where referring assembly
came from, but that operation has failed (reason: 2(error not found)). Please
load the referenced assembly into the current database and retry your request.
C'è un modo più semplice per ottenere tutti i NET 3.5 assemblee in SQL 2005 CLR, altro da me scrivere fuori un comando 'CREATE ASSEMBLY' per ognuno? Esiste un modo "migliore pratica" per farlo?
si potrebbe pensare che qualcuno ha preso la briga di fare un grande script T-SQL per il lotto di loro e post-it in rete ... ma Non riesco a trovarne uno :( – Thorarin
Dalla documentazione: SQL Server cerca anche tutti gli assembly dipendenti di questo assembly nella stessa posizione e li carica anche. – Suncat2000