我正在使用SQL Server 2014 Standard附带的SQL Server数据工具副本。我目前有一个脚本组件作为转换。该组件前面是一个平面文件源,它捕获从脚本组件内容中使用的SDK中识别搜索记录。然后是OLEDB目的地。以下是代码开头的示例,我认为这三种主要方法都存在问题:
public String LoanIDs_ProcessInputRow(LoanIDsBuffer Row)
{
return Row.ID;
}
public List<String> LoanIDs_ProcessInput(LoanIDsBuffer Buffer)
{
var LoanIds = new List<string>();
while (Buffer.NextRow())
{
var loanId = LoanIDs_ProcessInputRow(Buffer).ToString();
LoanIds.Add(loanId);
}
if (Buffer.EndOfRowset())
{
return LoanIds;
}
return LoanIds;
}
public void LoansBuffer_ProcessOutput(LoanIDsBuffer Buffer)
{
Session session = new Session();
ConnectToEncompass(session);
LoanReportCursor Loans = session.Reports.OpenReportCursor(GetFields(), GetSearchFilter(LoanIDs_ProcessInput(Buffer)));
for (int i = 0; i < Loans.Count; i++)
{
//actions
}
}
当我在调试模式下执行包或甚至是项目部署时,我得到零错误消息,并处理平面文件源中的行,但是脚本组件中没有处理任何行,之后也是如此。
enter image description here
这可能与我在方法开头删除“覆盖”和“无效”关键字有关吗?它们阻止我向方法添加参数以在它们之间传递值,但是我确实收到警告消息,指出消息需要“覆盖”以正确识别其UserComponent对应物。不确定那是什么意思。这是一个令人头疼的问题,我甚至无法通过断点调试脚本!