Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

SQL 2005 CLR i assembly iz GAC-a

[es] :: .NET :: SQL 2005 CLR i assembly iz GAC-a

[ Pregleda: 2697 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dusty
Predrag Glumac
Zemun, Srbija

Član broj: 15383
Poruke: 549
219.138.61.*

Sajt: www.mika.rs


+6 Profil

icon SQL 2005 CLR i assembly iz GAC-a02.03.2009. u 17:06 - pre 184 meseci
Pozdrav !

Napravio sam biblioteku koju cu da pozivam iz SQL-ovog CLR-a, medjutim problem je sto moja biblioteka koristi druge, doduse standardne assembly-e i od SQL-a dobijam poruku o gresci da ne moze da nadje taj assembly iako se nalazi u GAC-u. Neko zaobilazno resenje je da stavim da referenca pravi lokalnu kopiju upotrebljenog assembly-a, ali taj assembly referencira neki drugi, takodje standardni, pa treci .... i na kraju ispada da moram da kopiram skoro 50% assembly-a iz Frameworka !

Da li ima nacin da SQL CLR koristi GAC ? Bilo koja druga ideja bila bi rado prihvacena
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
 
Odgovor na temu

Igor Gajic

Član broj: 93194
Poruke: 747
79.101.171.*



+987 Profil

icon Re: SQL 2005 CLR i assembly iz GAC-a02.03.2009. u 19:05 - pre 184 meseci
Cini mi se da je odgovor ovde:

http://blogs.msdn.com/sqlclr/archive/2006/06/22/643554.aspx
 
Odgovor na temu

dusty
Predrag Glumac
Zemun, Srbija

Član broj: 15383
Poruke: 549
219.138.61.*

Sajt: www.mika.rs


+6 Profil

icon Re: SQL 2005 CLR i assembly iz GAC-a03.03.2009. u 09:45 - pre 184 meseci
Nemam problema sa Security-em jer sam svoje assembly-e u SQL CLR-u napravio kao unsafe (jer koriste izmedju ostalog Win32 API). Konkretno za jedan assembly mi prijavljuje gresku u vezi Remoting-a:
Citat:
Assembly 'RecipeNotifier' references assembly 'system.runtime.remoting, version=2.0.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.


Znaci CLR pokusava da nadje assembly od Remoting-a u istom folderu gde je moj, umesto da ga trazi u GAC-u. Nisam se puno bavio sa SQL-ovim CLR-om, da li uopste on moze da radi sa assembly-ima koji se ne nalaze u njemu ?
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: SQL 2005 CLR i assembly iz GAC-a03.03.2009. u 09:54 - pre 184 meseci
Jesi li registrovao sve asemblije u SQL-u?


Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Igor Gajic

Član broj: 93194
Poruke: 747
*.neobee.net.



+987 Profil

icon Re: SQL 2005 CLR i assembly iz GAC-a03.03.2009. u 10:19 - pre 184 meseci
Malo komplikovanije resenje:


http://social.msdn.microsoft.c...9-f077-4043-9f76-a0460c1f9332/
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: SQL 2005 CLR i assembly iz GAC-a03.03.2009. u 10:24 - pre 184 meseci
Ma mora da se registruje u SQL serveru :)

evo iz dokumentacije:

Citat:
references is one of the following supported assemblies in SQL Server: Microsoft.Visualbasic.dll, Mscorlib.dll, System.Data.dll, System.dll, System.Xml.dll, Microsoft.Visualc.dll, Custommarshallers.dll, System.Security.dll, System.Web.Services.dll, and System.Data.SqlXml.dll. Other system assemblies can be referenced, but they must be explicitly registered in the database.


Znaci CREATE ASSEMBLY u ruke i sprzi sve reference koje su ti neophodne.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

dusty
Predrag Glumac
Zemun, Srbija

Član broj: 15383
Poruke: 549
219.138.61.*

Sajt: www.mika.rs


+6 Profil

icon Re: SQL 2005 CLR i assembly iz GAC-a15.03.2009. u 17:02 - pre 183 meseci
Nisam stigao da se zahvalim, ali evo sada, veliko hvala

Nije moglo drugacije - sto mmix rece zapljunuo sam dlanove i uradio registraciju svih koriscenih assembly-a .... Malo je glupo, ne razumem zasto SQL CLR ne koristi GAC ?!
Nije to toliko zamoran posao koliko komplikuje deployment. Nije problem uzeti windir iz envroment-a da bih napravio pravu putanju do Microsoftovih assembly-a i da pri instalaciji mojih assembly-a odmah registrujem i moje, ali mi se na nekim masinama desava da je transakcioni log prepun. Kao zaobilazno resenje sam koristio preventivno truncate loga pre pocetka registracije, ali mi to ne deluje kao dobro resenje. Prvo, sta ako na nekom serveru previse mali log fajl, drugo sta ako se to DB adminu ne svidi ?




America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: SQL 2005 CLR i assembly iz GAC-a16.03.2009. u 11:10 - pre 183 meseci
nisam to nikad probao, ali mi je ortak jednom natuknuo da moze umesto putanje do DLL-a da se stavi putanja na xml fajl sa manifestom koji pokazuje na GAC asembli, i onda samo registrujes manifest fajlove koje znas gde su :) Al kazem, nikad nisam probao to.

Nisam bas skapirao povezanost loga i registrovanje asemblija?
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

dusty
Predrag Glumac
Zemun, Srbija

Član broj: 15383
Poruke: 549
219.138.61.*

Sajt: www.mika.rs


+6 Profil

icon Re: SQL 2005 CLR i assembly iz GAC-a18.03.2009. u 14:59 - pre 183 meseci
Citat:
nisam to nikad probao, ali mi je ortak jednom natuknuo da moze umesto putanje do DLL-a da se stavi putanja na xml fajl sa manifestom koji pokazuje na GAC asembli, i onda samo registrujes manifest fajlove koje znas gde su Al kazem, nikad nisam probao to.


Sounds interesting Cim uhvatim slobodnog vremena istrazicu ovo. Koliko su mi se u pocetku zgadile zabrane koriscenja managed COM objekata u SQL 2005, sada pocinje lagano da mi se dopada SQL CLR, ali jos uvek ne dovoljno

Citat:
Nisam bas skapirao povezanost loga i registrovanje asemblija?


Nisam ni ja Ima nekoliko baza, sve su iste - kopije jedne baze koja je samo distribuirana na vise servera. Provero sam i sve imaju transakcioni log koji ima unrestricted growth, ali na nekim masinama dobijam pri registraciji System.Web assembly-a (i samo pri njemu) gresku da je transakcioni log pun i da nije mogao da nastavi registraciju, dok na drugima prodje bez problema. Koristio sam flaster tehniku (zakrpi da radi i begaj kuci), ali mi ovo nije jasno.
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: SQL 2005 CLR i assembly iz GAC-a18.03.2009. u 18:22 - pre 183 meseci
Ok, defintivno ne prihvata xml manifest, upravo sam probao ne prepoznaje format kao PE. Probacu sad i binarni manifest pa cu ti javiti.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: SQL 2005 CLR i assembly iz GAC-a18.03.2009. u 18:57 - pre 183 meseci
Ok, konacno sam povezao loncice da nisi ovo pokrenuo ne bih ovo ni provalio.


Evo sta se desava.

1. Ne moze se registrovati samo preko manifesta, a razlog za to je:
2. SQL CLR uopste ne koristi CLR, ne samo da ne zna da ucita assembly iz GAC-a vec to ni ne pokusava jer:
3. kad registrujes assembly sa CREAT ASSEMBLY SQL ucita DLL i (pazi sad ovo) smesti njegov id u master.sys.assemblies a KOMPLETAN DLL binary (da, ceo fajl) smesti u varbinary polje [content] u tabeli master.sys.assembly_files

Kad mu zatreba instanca tipa iz asemblija SQL CLR instancira asembli i sam tip direktno iz svojih master tabela, verovatno sa Assembly.Load(byte[]), dakle ne ucitava sa diska i ne ucitava iz GAC-a. Sto se njega tice nakon sto registrujes mozes slobodno i da obrises dllove sa diska.


Ovo sad objasnjava i tvoj drugi problem, kad uradis CREATE ASSEMBLY sa velikim asemblijem, isti ide u master-ov transaction log kao deo INSERT INTO sys.assembly_files transakcije.



Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

[es] :: .NET :: SQL 2005 CLR i assembly iz GAC-a

[ Pregleda: 2697 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.