es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Componente de script de SSIS VS_ISBroken durante la ejecución desde el Catálogo de Servicios de Integración, pero funciona desde Visual Studio.

Tengo un paquete SSIS que extrae datos de una fuente ODBC y los carga en un destino OLEDB. La tabla de destino no contiene una columna de identidad. Necesito obtener el Max(Id) de la columna y aumentarlo en 1 para el siguiente conjunto de registros. MaxId se recupera y se almacena en una variable y la parte de incremento se maneja a través de código C# dentro del Componente de Script. La ejecución del paquete es exitosa desde Visual Studio, sin embargo, cuando intento implementar y ejecutar el paquete desde el Catálogo del Servicio de Integración, se produce el siguiente error:

“Script Component” no superó la validación y devolvió el estado de validación “VS_ISBROKEN”. No se encuentra el código binario del script. Abra el script en el diseñador haciendo clic en el botón Editar Script y asegúrese de que se construya correctamente.

La compilación y reconstrucción del script es exitosa y la compilación de la solución también fue exitosa.

La solución de Visual Studio se creó en VS 2017, este es un nuevo paquete que he creado usando VS 2019. La versión de SSMS es 2019. La versión de TargetServerVersion está configurada en SQL 2017 en la solución. Hay de 4 a 5 proyectos dentro de la solución, aproximadamente 40 a 45 paquetes y cambiar la TargetServerVersion no es una solución factible.

A continuación, encontrará el script C# del componente de script:
int i = 1;

public override void Input0_ProcessInputRow(Input0Buffer Row)
{
/*
* Agregue su código aquí
*/
Row.RowNumber = this.Variables.MaxUID1 + i;
i = i + 1;
}

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error sugiere que no se encuentra el código binario del script al ejecutar el paquete SSIS desde el Catálogo de Servicios de Integración. Este problema podría deberse a que el paquete SSIS fue creado en Visual Studio 2017 pero se está ejecutando en un entorno diferente con una versión más nueva de SSMS (versión 2019).

    Una posible solución podría ser asegurarse de que se instalen las bibliotecas necesarias en la versión más nueva de SSMS. Otra sugerencia es intentar reconstruir el componente del script para asegurarse de que se compile correctamente.

    Alternativamente, podrías intentar crear un nuevo componente de script en Visual Studio 2019 y copiar el script de C# desde el antiguo componente de script. Esto debería asegurar que el código del componente de script sea compatible con la nueva versión de SSMS.

    En general, es importante asegurarse de que la versión del servidor de destino esté configurada correctamente en la solución y verificar que todas las bibliotecas y referencias estén instaladas correctamente en el nuevo entorno.

Comments are closed.