2
A
回答
3
你是如何填充这个对象变量的?根据您如何填充变量,可以列出获取计数的更多合适方法。然而,这里是你一个快速和肮脏的解决方案:
- 创建整数类型的新变量,变量初始化为0
- 使用foreach循环任务来遍历你的对象(打开foreach循环编辑器,去
Collections
,改变枚举Foreach ADO Enumerator
和ADO对象源变量对象变量。 - 创建
Execute SQL Task
- 在常规选项卡,设置的ResultSet单列和你的SQL语句
SELECT (@Count + 1)
- 在参数映射选项卡中,添加新的整数变量并将
Parameter Name
属性更改为@计数 - 在结果集选项卡中,添加名称为0和变量名称为新创建的整数变量的新条目。
一旦你的循环完成,你将有计数的对象。
注意:如果您已经在遍历这些文件(我假设您正在使用SSIS将文件名填充到对象变量中),则只需执行步骤1,3-6。
1
您是否有理由不使用脚本任务?
给定两个SSIS变量,为MyObject(Object类型)和MyObjectCount(Int32)已设置为10。
脚本任务1填充对象。
// Nothing clever, just fills a List<T> with
// MyObjectCount's worth of values.
public void Main()
{
int count = (Int32)Dts.Variables["User::MyObjectCount"].Value;
List<bool> obj = new List<bool>();
for (int i = 0; i < count; i++)
{
obj.Add(false);
}
Dts.Variables["User::MyObject"].Value = obj;
Dts.TaskResult = (int)ScriptResults.Success;
}
脚本任务2只是将SSIS变量MyObject的值赋值给一个局部变量,我将其转换为适当的类型。我把这个数与我的参考数进行比较,他们是一样的。
public void Main()
{
int refCount = (Int32)Dts.Variables["User::MyObjectCount"].Value;
List<bool> obj = Dts.Variables["User::MyObject"].Value as List<bool>;
int actualCount = obj.Count;
string message = string.Format("Reference count: {0}. Actual count {1}", refCount, actualCount);
bool fireAgain = false;
Dts.Events.FireInformation(0, "Accessing count", message, string.Empty, 0, ref fireAgain);
Dts.TaskResult = (int)ScriptResults.Success; Dts.TaskResult = (int)ScriptResults.Success;
}
结果
[访问计数]信息:引用计数:10实际计10
如果您不负责什么推动对象物到SSIS变量,那么你可能需要将上述提取包装成一系列try/catch块或将其转换为类型,直到找到运行时可将转换为强类型对象的东西。
相关问题
- 1. SSIS - 通过字符串变量填充对象变量
- 2. 将计数变量附加到对象
- 3. SSIS - 转换为DataTable的对象变量变空
- 4. 如何从SSIS中的脚本任务重置对象变量?
- 5. SSIS XML变量
- 6. 对象变量的Java数组变化
- 7. “变量赋值请求”对象设计
- 8. SSIS脚本任务获取文件名并存储到SSIS对象变量
- 9. 如何根据SSIS中两个变量的值计算行数
- 10. SSIS - 在任务表达式中传递一个对象变量
- 11. 你可以添加到一个SSIS对象变量,追加?
- 12. SSIS脚本任务在对象变量内部抓取列
- 13. SSIS将对象变量转换为字符串
- 14. SSIS - 增量加载 - 查找对象
- 15. PHP:计数另一个对象内的对象数量?
- 16. 我在程序错误计数的对象的总数量与静态变量
- 17. PHP的面向对象的类变量VS对象变量
- 18. 计算对象内元素的数量
- 19. 计算图像中对象的数量
- 20. SSIS - 局部变量
- 21. SSIS全局变量
- 22. 多级对象中的变量变量
- 23. 多个变量对组合的计数
- 24. 变量被分配了对象,我如何返回变量中的对象数
- 25. 访问对象的对象变量?
- 26. SSIS中的Int Arraylist变量
- 27. SSIS中的解锁变量
- 28. Javascript对象变量?
- 29. JavaScript变量对象
- 30. 数组中对象的变量
一个类型为Object的SSIS变量已经被分配了一些暴露Count属性的东西,并且你想获得该值? – billinkc 2011-12-16 17:20:53
是的,我想获得这个价值,但我不知道如何。 – buzzzzjay 2011-12-16 17:28:31