Escribí una UDF simple que debe trazar un gráfico y guardarlo en el disco. En realidad, estoy usando un UDF como proxy entre SQL SERVER y R, por lo que UDF solo pasa el script R al motor R desde SQL SERVER a través de DCOM. Todo funciona bien hasta que intento trazar un gráfico o guardarlo en el disco. Creé la asamblea con permisos SEGUROS.Sql Servidor CLR acceso al sistema de archivos desde UDF
Entonces, dice así: SQL Engine -> UDF -> (D) SERVIDOR COM -> R -> (D) SERVIDOR COM -> UDF -> SQL Engine.
Entonces, mi primer problema es, ¿puedo crear una GUI desde una UDF? Supongo que no, pero vale la pena preguntar.
El segundo problema es por qué un ensamblaje con permiso SEGURO no puede acceder al sistema de archivos. No recibo ningún error, simplemente no pasa nada.
El entorno R se encuentra en el espacio de direcciones diferente, por lo que no veo ningún motivo por el que los permisos de SQL Engine para CLR lo afecten.
Gracias
Editar:
he tratado de hacer lo mismo con los procedimientos. Ahora se crea un archivo vacío. Este es mi código de prueba R:
jpeg("C:\\test1.jpg"); x <- rnorm(100); hist(x); dev.off()
¿Alguna idea de lo que está pasando aquí?
Ejecutaría SysInternals Filemon o Process Monitor e intentaría determinar qué está intentando hacer el conjunto en el sistema de archivos. Puede ganar algo de visibilidad usando una de esas herramientas. –