【发布时间】:2013-08-30 13:06:05
【问题描述】:
我在让我的数据流按照我的意愿行事时遇到了一些问题。
我正在使用一个 OLEDB 源,它调用一个存储过程,该存储过程使用一个表变量来显示我需要使用的数据。 它看起来像这样:
ClientID TimeStamp IsStart
pic@psdfj 2013-08-28 14:22:59 1
bsd@fjskk 2013-08-28 14:43:21 1
pic@psdfj 2013-08-28 15:23:01 0
..and so on
我需要创建两个新列,一个带有时间戳,另一个带有 IsStart 列。 (我正在跟踪用户何时在线并捕获时间戳。) 所以我的 SQL Server 数据库中有一个名为 tblUserUsage 的当前空表,其中包含以下列:
tblUserUsage (example of what the data would look like)
TimeStamp NumberOfUsers
2013-08-28 14:22:59 1
2013-08-28 14:43:21 2
2013-08-28 15:23:01 1
我在将数据流输出到这些列时遇到问题。现在我将存储过程调用连接到派生列,然后连接到脚本。但这不起作用,因为当我创建输出列时,它不允许我输出到脚本中的输出缓冲区。只是为了澄清 - 脚本将在 VB.NET 中
这是我的脚本到目前为止的样子。我在输出中添加了 NumberOfUsers 列。但我仍然没有 Output0buffer
有人有什么想法吗?
【问题讨论】:
-
你能发布你的脚本吗?如果它太长至少发布输出部分。这可能会让我们知道发生了什么
-
我有一些基本的 if 语句会增加小时数,但由于某种原因我没有输出缓冲区?我不确定为什么在 SSIS 包的另一部分中我有一个脚本并且我有一个输出缓冲区。但是这个没有......我基本上只是将时间戳和更新的用户数量放入数据库中的表中。
-
您要创建什么样的脚本? (源,转换...)我记得,目标脚本没有输出列..也许就是这样?
-
这是一个转换脚本。
-
这是同步变换还是异步变换? (您只会在代码中为异步转换生成一个 OutputBuffer;比较 MSDN 文章 Creating an Asynchronous Transformation with the Script Component 和 Creating a Synchronous Transformation with the Script Component。)