使用 SSIS 加载 Employee 表(平面文件到 SQLServer)
由于这是更常见的任务,因此想在加载员工表时检查最佳实践。
Employee表有ManagerID,它是同一个表的FK。
输入文件: 员工 ID 及所有其他信息 经理的姓氏 经理的名字
目标表: 员工编号 所有其他员工信息 经理的 ID(FK 到 EmployeeID)
在翻译过程中是否有办法查找经理的 EmployeeID?如果不是,最好的选择是什么?
As this is more common task, would like to check the best practices while loading the employee table.
Employee table has ManagerID, which is a FK for the same table.
Input File:
Employee ID with all other info
Manager's Last Name
Manager's First Name
Target Table:
EmployeeID
All other employee Info
Manager's ID (FK to EmployeeID)
Is there any way to lookup EmployeeID of the manager during the translation? If not, what is the best option?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 LookUp 组件根据源文件中的字段查找 Manager Id 外键。这将向您的数据库执行一个单独的请求,以匹配您提供的有关经理的详细信息。
然后,您可以配置 LookUp 命令来相应地管理组件内缺失的详细信息(即不匹配)。
或者,如果数据量对于多次查找调用来说太大,您可以“按原样”暂存表并创建第二个数据流任务以在 sql select 语句中执行联接。然后使用第二个流程的结果填充您的主员工表。从 ssis 和表创建的角度来看,这将导致更多的工作量,但对于任何卷的数据来说都会更快
You can use a LookUp component to find the Manager Id foreign key based on fields in your source file. This will execute an individual request back to you database to match the details you supply regarding the manager.
You can then configure the LookUp command to manage missing details (i.e. no match) accordingly within the component.
Alternatively, if the volume of data is too large for multiple lookup calls, you can stage the table "as is" and create a second data flow task to perform the join within a sql select statement. Then use the result of this second flow to populate your main employee table. This will result in more effort from a ssis and table creation perspective, but will be quicker for data of any volume