Aucune lignée n'est retournée dans la tâche DTS, mais est retournée lors du débogage du script

StackOverflow https://stackoverflow.com//questions/20005558

  •  20-12-2019
  •  | 
  •  

Question

J'espère que je l'explique correctement.J'ai une tâche de script SSIS qui intervient très simplement une vue, remplit un jeu de données avec le résultat et génère le nombre de lignes que le jeu de données résultant a.

SqlCommand cmd = new SqlCommand("select .....", conn);
                using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                {
                    da.Fill(dt);
                    output += "Datatable row count " + dt.Rows.Count.ToString() + " \r\n";
                }

Dans Visual Studio, cela renvoie le résultat approprié / RowCount (165 lignes).Lorsque je sauvey enregistrer le paquet et que je l'exécute comme une étape dans un travail SQL Server, il renvoie une rangée de 0. (le travail fonctionne sans erreur) le même code, la même requête, la même connexion, la même différence que cela fonctionne quand je touche"Déboguer" dans le package dans Visual Studio, mais pas lorsque j'exécute le package en tant que pas de travail SQL Server.

me conduire fou!Quelqu'un des idées?Merci beaucoup.

Était-ce utile?

La solution

Je recommanderais d'exécuter via l'outil de ligne de commande DTEXec ou la DTEXecui pour voir quel comportement il cède.Cela aiderait à déterminer s'il s'agit d'un problème de paquet ou d'un problème d'emploi.En outre, utilisez-vous cela dans une tâche de script SSIS?Si tel est le cas, SSIS propose quelques constructions pour le faire de manière plus standard (à la SSIS).Par exemple, vous pouvez utiliser une source OLEDB dans un fichier de données, puis utilisez la tâche RowCount pour signaler le nombre de rowsaffects qui sont transmis par le pipeline.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top