我的公司从无法以任何直接格式提供数据的客户端接收数据,因此我们必须导入多个报告,这些报告采用分组布局,如下所示。我们必须开发内部方法来取消组合报告,然后导入数据以获取我们需要的所有数据。目前我的团队成员正在使用MS Access / VBA生成所需的详细记录,但我想将其移至基于服务器和自动化的流程。我们使用SQL Server 2008R2进行存储,我想使用SSIS来完成任务。有谁知道我可以生成详细记录并将数据直接导入SQL Server的方法?
答案 0 :(得分:1)
嗯 - 你肯定必须对数据集进行一些程序化调整,以便将该组日期添加到细节线。我不确定你将如何导入xlsx,但我建议先使用SSIS包,然后在脚本任务中进行调整,作为" best"这样做的方式。有关如何在SSIS脚本任务中处理Excel,请参阅here。
如果您不了解SSIS或特别是编程,那么您最好的选择(在我看来)是将数据导入临时表,使用T-SQL进行操作然后将该表插入主表。我做了这个here的SQL小提琴。
public void Save(CampaignLanguage campaignLanguage)
{
_campaignLanguageRepository.Update(campaignLanguage);
_unitOfWork.Commit();
}
答案 1 :(得分:1)
我会用脚本组件来做。
总数据流:
ExcelSource - >脚本组件(转换) - >条件性拆分 - > SQL目的地
在脚本组件中:
检查InputColumns上的accountSummary
将ActivityDate添加为输出列。
打开脚本:
在你的行处理之外。
添加:
public datetime dte;
内部行处理:
if (DateTime.TryParse(Row.ActivitySummary.ToString()))
{dte=DateTime.Parse(Row.ActivitySummary.ToString());}
else
{Row.ActivityDate = dte;}
然后添加条件拆分以删除空活动日期