DTS Tâche de Script Runtime Erreur: une Exception a été levée par la cible d'un appel

J'ai un projet ssis développé en visual studio 2012 Ultimate. Je utiliser le modèle de déploiement du projet et le projet est configuré pour s'exécuter en 32 bits mode. Le package s'exécute sans erreur dans mon environnement de développement mais quand je le déployer dans le catalogue ssis et de tenter de l'exécuter là, j'obtiens l'erreur suivante:

DTS Tâche de Script Runtime Erreur: une Exception a été levée par la cible d'un appel

Je déployer le projet sur un Serveur Windows 2012 R2 et la base de données est également en 2012, avec un catalogue SSIS.

J'ai ouvert le projet sur le serveur et a tenté de débogage de la tâche de script sur le serveur avec un point de rupture, mais l'erreur se produit avant d'en arriver au point de rupture.

Si je désactive toutes mes tâches de script, le package s'exécute sans erreur sur le serveur.

J'ai également mis à jour les serveurs locales, options de sécurité en désactivant Cryptographie Système: Utiliser des Algorithmes Compatibles FIPS comme une solution possible posté sur Le Support De Microsoft.

J'ai également tenté d'exécuter un fichier de package de système sur le serveur et j'obtiens la même erreur.

J'ai aussi triple vérifié que mes variables sont correctes et même de les définir comme en lecture et en écriture des variables.

La première tâche de script code est ci-dessous (mais tous les sac tâches ne /trois dans ce package). La tâche de script fait référence à une dll appelée UHS.IntegrationServices.CommonUtils qui a été GACed et la dll a été construit dans VS 2005 avec le framwork 2.0.50727.

Public Sub Main()
Dim packageID As String = Dts.Variables("System::PackageID").Value.ToString()
Dim strInterfaceName As String = Dts.Variables("System::PackageName").Value.ToString()
Dim strConfigConnectionString1 As String = Dts.Variables("User::UHS_SSIS_CNXN_STR_CONFIG").Value.ToString()
Dim myConnection As OleDb.OleDbConnection = New OleDb.OleDbConnection
Dim mySqlCommand As OleDb.OleDbCommand = New OleDb.OleDbCommand
Dim myReader As OleDb.OleDbDataReader = Nothing
Dim rowsProcessed As Integer = 0
Try
myConnection.ConnectionString = strConfigConnectionString1
myConnection.Open()
Dim getEmailQuery As String = "SELECT Email FROM EmailMaster" & _
" where InterfaceName='" & strInterfaceName & "'" & _
" and Active = 'Y' "
Dim NotifyInterface As SMTPNotifyAlerts
NotifyListenerManager.GetNotifierByType(packageID, NotifyInterface, CommonNotifierAlerts.AlertInfo.AlertTypes.alertEmail)
mySqlCommand = New OleDb.OleDbCommand(getEmailQuery, myConnection)
mySqlCommand.CommandTimeout = 0
myReader = mySqlCommand.ExecuteReader
If (myReader.HasRows()) Then
While (myReader.Read())
NotifyInterface.alertDest.Add(myReader("Email").ToString().Trim())
rowsProcessed = rowsProcessed + 1
End While
End If
NotifyListenerManager.BroadcastMessage(CommonNotifierAlerts.BasicAlerts, 0, Nothing, "Startup logfile")
Dts.TaskResult = ScriptResults.Success
Catch ex As Exception
Dts.Events.FireError(0, "Init Email Master", ex.Message, "", 0)
Dts.TaskResult = ScriptResults.Failure
End Try
End Sub

Le problème semble être dans la référence à la dll. Quand je commenter la NotifyInterface et NotifyListener lignes le script s'exécute sans erreur, mais le fichier dll dans le GAC et je peux l'afficher dans C:\Windows\assembly.

Pourquoi serait-ce de travailler sur mon local mais pas sur le Serveur? Est le framework 2.0 nécessaires sur le serveur? Si la référence à la dll est cassé, je ne devrais pas obtenir un plus descriptif erreur?

Toute l'assistance dans la recherche d'un dépannage d'idées serait grandement apprécié.

  • Bonjour, avez-vous résolu le problème? quelle est la solution? Merci
InformationsquelleAutor bsivel | 2014-07-08