Ho creato una function dentro un assembly CLR che richiamo da una sp.
Questa function crea un file di testo (che poi viene rinominato in xml perchè non è un vero xml, ho a che fare con gli IDOC dei signori SAP...lasciamo perdere) e poi lancia un bat che contiene i parametri per copiare via ftp questo file sul server del cliente.
Fino alla creazione del file tutto ok, aggiunta la parte del lancio bat ricevo l'errore di seguito. Il tutto viene lanciato su un win server 2003 in un dominio di rete normalissimo e secondo il mio parere non sono state settate policy di sicurezza particolari perchè qua parliamo di spagnoli...che non hanno nemmeno voglia di sapere cosa sia una password.
L'assembly ha uno strong name, sta nella GAC e l'ho registrato in sql 2005 dandogli permission "external_access", e infatti con le operazione di IO tutto ok, poi il lancio del bat sembra averlo sconvolto...la cartella dove risiedono i file e i file stessi hanno Everyone-FullControl e utente administrator-FullControl. Qua si fermano le mie conoscenze sistemistiche. Tra l'altro ho lo stesso problema sul mio pc, che è configurato per lo sviluppo quindi non è un server. Ho cercato e ricercato on-line di capire cosa sbagliavo nelle permission dell'assembly, ho anche provato con i Net Framework 2.0 Configuration Tool di creare un nuovo gruppo di permission con un nuovo set di autorizzazioni, ma sinceramente gli assembly con lo strong name hanno già la FullTrust di default quindi...mi fermo qua.
Qualcuno sa aiutarmi?
Grazie
Marica
Messaggio 6522, livello 16, stato 1, procedura fn_Carrion_ScriviXml, riga 0
Errore di .NET Framework durante l'esecuzione dell'aggregazione o routine definita dall'utente "fn_Carrion_ScriviXml":
System.Security.SecurityException: Request failed.
System.Security.SecurityException:
at System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Assembly asm, PermissionSet granted, PermissionSet refused, RuntimeMethodHandle rmh, SecurityAction action, Object demand, IPermission permThatFailed)
at System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Object assemblyOrString, PermissionSet granted, PermissionSet refused, RuntimeMethodHandle rmh, SecurityAction action, Object demand, IPermission permThatFailed)
at System.Security.CodeAccessSecurityEngine.CheckSetHelper(PermissionSet grants, PermissionSet refused, PermissionSet demands, RuntimeMethodHandle rmh, Object assemblyOrString, SecurityAction action, Boolean throwException)
at System.Security.CodeAccessSecurityEngine.CheckSetHelper(CompressedStack cs, PermissionSet grants, PermissionSet refused, PermissionSet demands, RuntimeMethodHandle rmh, Assembly asm, SecurityAction action)
at UserDefinedFunctions.f_ScriviXml(SqlXml DataToWrite, SqlString PathXml, SqlString PathFtp, SqlString PathBat)
.