2012-02-17 3 views
1

J'ai recherché une réponse à cette question et je ne la trouve pas. Je veux configurer un package SSIS à l'aide de Visual Studio 2005 et SQL Server 2005 qui enverra la date du jour (GETDATE()) en tant que paramètre à une procédure stockée. Je peux trouver comment envoyer un paramètre, mais pas comment déclarer ce paramètre à GETDATE(). Est-ce seulement possible?SQL Server 2005 Exécutez une procédure stockée via SSIS en utilisant GETDATE() en tant que paramètre

+1

Si vous avez vraiment besoin de passer 'GETDATE()' en tant que paramètre à votre procédure stockée, vous pouvez simplement exécuter la requête SQL avec 'GETDATE()' au lieu de l'affecter à un premier paramètre – Lamak

+0

@Lamak , J'ai en fait quelques procédures stockées différentes qui ont toutes besoin de la date d'aujourd'hui et j'espérais simplement créer une variable dans le SSIS et la transmettre à tous comme ils ont été exécutés. Je n'arrivais pas à comprendre comment le faire pour passer aux autres. – DataGirl

Répondre

3

Si vous avez besoin d'une heure d'évaluation constante, comme GETDATE(), créez ensuite une variable dans SSIS appelée GetDate avec un type de données DateTime. Faites un clic droit et dans la fenêtre des propriétés, vérifiez EvaluateAsExpression = True et pour l'expression, utilisez GETDATE()

Maintenant, câblez cette variable jusqu'à la tâche SQL d'exécution.

Si vous n'avez pas besoin de ce moment, utilisez l'une des variables de portée du système. Le ContainerStartTime de la tâche d'exécution SQL suffirait probablement. Mon aller à la valeur est le StartTime car c'est à ce moment-là que le paquet a commencé l'exécution mais vous saurez mieux lequel vous convient le mieux.

2

Une solution de contournement possible à envisager. Vous pouvez définir GETDATE() comme valeur par défaut pour le paramètre dans la procédure stockée, puis l'appeler sans ce paramètre.

CREATE PROCEDURE YourProc 
    @InputDate DATETIME = GETDATE() 
AS 
... 
Questions connexes