Stocker des valeurs dans des variables à l'aide d'Exécution SQL Objet de Tâche
J'ai une tâche d'exécution sql définie dans mon package qui va exécuter une procédure stockée. Lorsque la procédure stockée est exécutée, elle sera de retour d'informations d'identification utilisateur. J'ai pour stocker les informations d'identification dans une variable et ensuite utiliser ces informations d'identification dans une nouvelle tâche de script.
La suivante est ce que j'ai essayé jusqu'à présent.
ÉTAPE 1 - j'ai créé tâche SQL
Sur l'ONGLET Général, définissez les propriétés suivantes:
Resultset: Single row
connectionType: OLE DB
Connection:SourceDestination
SQLSourceType:DirectInput
SQLStatement: Execute dbo.GetLoginInfo1
ByPassPrepare = False
ÉTAPE 2 - Mappage des paramètres de l'Onglet
Variable Name = User::DatabaseUserName
Direction = Output
Data Type = NVarchar
Parameter Name = @UserId
Parameter Size = 50
ÉTAPE 3 - Jeu de résultats onglet
Result Name = 0
Variable Name = User::DatabaseUserName
Quand j'ai exécuté la tâche que j'ai erreurs suivantes.
[Execute SQL Task] Error: Executing the query "EXECUTE [dbo].[GetUserLoginInfo1]"
failed with the following error: "Value does not fall within the expected range."
Possible failure reasons: Problems with the query, "ResultSet" property not set
correctly, parameters not set correctly, or connection not established correctly
Quand je debug j'ai pu voir les informations suivantes:
Pause SUR l'Avant de l'exécuter:
User::DatabaseUserName = {Hi}
Pause SUR le Post de l'Exécuter: (erreur se produit, mais les valeurs obtient chanage)
User::DatabaseUserName = {User1}
Désolé j'ai oublié de mentionner la création de variables. J'ai créer une variable comme indiqué ci-dessous.
Name = DatabaseUserName
Scope = Package1
Datatype = String
Value = Hi
Mentionnés ci-dessous est la procédure stockée que j'ai utilisé.
ALTER PROCEDURE [dbo].[GetUserLoginInfo1]
AS
BEGIN
SELECT userid AS userid
FROM login_credentials
WHERE servername= 'server1'
END
J'ai essayé et lire beaucoup de nombreux sites, mais je suis toujours confronté au problème.C'est mon deuxième jour sur elle et ont à résoudre avant demain matin, donc toute aide sera vraiment appréciée.
Vous devez vous connecter pour publier un commentaire.
Vous devriez complètement omettre l'ETAPE 2. (Toutefois, la procédure n'a pas de sortie de colonne.)
L'ÉTAPE 1 et l'ÉTAPE 3 sont tous de droite. (À l'ÉTAPE 3 vous pouvez utiliser
userid
dans la Suite le Nom de colonne de la grille, mais l'ordinal sera absolument bon.)