J'essaie d'utiliser une tâche SQL d'exécution dans SSIS 2008 pour mapper un paramètre de sortie de procédure de magasin à une variable de package.SSIS 2008 Problème de datetime2 de mappage des paramètres de sortie d'exécution SQL
La variable de package est de type SSIS DateTime et le paramètre de procédure de stockage est de type SQL DATETIME. L'instruction SQL est EXEC GetCurrentDate @CurrentDate=?
et dans l'écran de mappage de paramètres, le paramètre est mappé à la variable de package avec la direction Sortie et type de données DBTIMESTAMP spécifiés.
Quand je lance le paquet que je reçois l'erreur suivante:
[Execute SQL Task] Error: Executing the query "EXEC GetCurrentDate @CurrentDate=? " failed with the following error: "The type of the value being assigned to variable "User::CurrentDate" differs from the current variable type. Variables may not change type during execution. Variable types are strict, except for variables of type Object. ". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
Si je lance une trace sur la requête en cours d'exécution, je vois le type est supposé que datetime2:
declare @p3 datetime2(7)
set @p3=NULL
exec sp_executesql N'EXEC GetCurrentDate @[email protected] ',N'@P1 datetime2(7) OUTPUT',@p3 output
select @p3
Est-ce quelqu'un sait pourquoi il suppose que le type est datetime2?
Merci