2012-09-20 55 views
5

Estoy trabajando en un paquete SSIS usando SQL Server 2012 y Visual Studio 2010 Shell.Web Referencia rompe paquete SSIS

Necesito usar un método web en una tarea de script que tengo y pude ejecutar este script en Windows 7 sin ningún problema. Este servicio web requiere un certificado que he instalado en mi tienda de informática personal.

Sin embargo, cuando moví este proyecto a Windows Server 2008 R2, el paquete se rompe aparentemente sin motivo. No tengo errores de compilación en la lista de errores y si construyo la tarea de guión tendrá éxito, sin embargo, cuando termine de editar el guión, aparecerá un mensaje con este mensaje de error:

"Las secuencias de comandos contenidas en el paquete tienen errores de compilación. ¿Quieres guardar los cambios?"

Si elimino la referencia web de la tarea de script, este mensaje no aparecerá.

El paquete no se ejecutará debido a esto. Revisé los detalles del error en el Visor de eventos, pero solo muestra "Paquete fallido" y no aparecen más detalles sobre este problema. ¿Podría estar relacionado con un problema de certificado? ¿Existe un registro de errores o una forma de conocer más detalles sobre qué está causando el error del paquete?

Gracias.

+0

¿Ha tenido un problema con la instalación del certificado en el servidor 2008? Sin saber nada de certs, ¿es posible que se acepte el certificado para sus credenciales pero no para el servidor como un todo? – billinkc

+0

Como no tengo privilegios de administrador para este servidor, el certificado se instaló solo para mi usuario. Podria ser esta la causa? –

+1

Podría ser. La manera más fácil sería iniciar sesión en la caja y ejecutar el paquete desde la línea de comando. Si funciona allí, necesitará que el administrador instale el certificado en el espacio global (o al menos el espacio de la cuenta que ejecuta el paquete). También puede crear una credencial y luego un agente proxy utilizando su cuenta. Entonces el paquete se ejecutará como usted pero desde el contexto del agente sql. No es una solución a largo plazo, sino algo para validar que el paquete funcione bien en el otro entorno y el problema es que el certificado no está disponible. – billinkc

Respuesta

1

No es solo la cuestión de seguridad de los certificados requeridos por el servicio web en sí lo que tiene que preocuparse.

El servidor web SSRS no permitirá cargar ensamblajes marcados como "inseguros", que es casi cualquier cosa que haga I/O. Una vez añadí una referencia a un ensamblado de .Net Forms a un informe de SSRS para usar su funcionalidad de texto enriquecido. Funcionó muy bien en Visual Studio, pero una vez implementado en el servidor web SSRS, nunca se ejecutará. Estoy seguro de que podría funcionar, pero debido a otras prioridades dejé el trabajo porque todo lo que probé no funcionó.

La búsqueda en línea para agregar ensamblajes personalizados proporciona información útil para lograr que los ensamblajes personalizados funcionen. Estos son algunos de los pasos cruciales:

  • Firme el ensamblado con un nombre seguro, necesario porque se implementa en el GAC.
  • Utilice el atributo de nivel de ensamblaje [assembly:AllowPartiallyTrustedCallers] en el ensamblaje para que SSRS pueda usarlo.

Un par de posibles recursos son here y here.

Cuestiones relacionadas