【发布时间】:2012-02-24 20:52:46
【问题描述】:
目前,我正在处理从 .csv 文件到 DB 的非常棘手的传输。我必须开发一个包/解决方案/xxxyyy 来处理从这个 .csv 文件到我的 SQL Server DB 的数据流(.csv 每天都会用新数据更新)。
我的老板“建议”我应该使用的方法是通过 SSIS(通常我会编写某种“解析器”来轻松地从 .csv 中传输数据)。事实上,我还有很多事情要做。
即
员工有以下字段:
name;surname;id;roles
“角色”字段的格式如下:
role1,role2,role3
我的数据库中的这种关系映射到 3 个不同的表中:
tblEmployee
PK_Emp | name | surname
tblRoles
PK_Role | roleName
tblEmployeeRole
PK_Emp | PK_Role
因此,我必须从 .csv 中提取单个员工的角色,将其插入 tblRoles(检查是否有重复)。然后我必须管理 tblEmployeeRole 中的关系。
考虑到这只是我必须管理的不同转换之一的示例,我想知道 SSIS 是否是实现我的目标的最佳工具(如果是脚本组件则加载)。当我向老板解释我的困惑时,他想出了这个“想法”:
使用 SSIS 将数据原样传输到临时表中,然后通过存储过程处理不同的转换。
从我对存储过程的了解很少,我不确定我是否应该遵循这个想法。 现在,考虑到我的实际上司不是那么开明的项目经理(他通常会用奇怪的想法搞砸我们的工作),并且考虑到我在 SSIS 和存储过程方面都不是这样的专家,所以我决定写在这里,看看是否有人可以解释我之前的方法之一是否正确,或者我是否必须考虑其他(更好的)解决方案。
抱歉我的英语不好,请帮忙=)
【问题讨论】:
-
我们可以使用 id 来唯一标识一行吗?
标签: c# sql-server stored-procedures ssis