SQL実行タスクを実行して行数を取得し、変数に格納した後、スクリプトタスクを使用してSSISパッケージでその変数を読み取り、それより大きいかどうかを確認します0SSISでクエリ結果を変数に渡す
私が問題を抱えているのは、パッケージをデバッグすると-1に変数が読み込まれているということです(これは、クエリが正常に実行されたというSQLだと仮定しています)。 DB。 私が言うことができる限り、すべてが正しく設定され、正しい方法でコード化されているので、何が原因か分かりません。
private byte[] emptyBytes = new byte[0];
public void Main()
{
int rowCount = Convert.ToInt32(Dts.Variables["User::SMART_rowcount"].Value.ToString());
if (rowCount > 0)
{
Dts.TaskResult = (int)ScriptResults.Success;
}
else
{
Dts.Log("The SMART Row Count Check has failed due to result set having no rows. Check table SMART.[SMART_SEC_MGMT_QUOTE_DATA].", (int)Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure, emptyBytes);
Dts.TaskResult = (int)ScriptResults.Failure;
}
}
編集:ここでは
はこれらと目の流れでありますE変数:あなたのSQL実行タスクの
ResultSet
タブで
あなたは物事を整理するために、これら2つのタスクとパッケージの変数を含む画面でフローの画面を追加できますか? –
@VladimirSemashkin彼らは今追加されました –