我们在BI设计中,可以设置数据源对象和数据源视图对象。为什么要设置这两个对象?又如何在后面设计包的时候使用呢?
数据源对象是对连接的引用,它至少包括一个连接字符串和一个数据源标识符。数据源对象还可以包括其他元数据,如说明、名称、用户名和密码。
在 Integration Services 包中使用数据源的好处如下:
1、数据源具有项目作用域,这意味着在 Integration Services 项目内创建的数据源对该项目中的所有包均可用,而且数据源可以在一次定义后,由多个包中的连接管理器引用。
2、数据源提供数据源对象与其包引用之间的同步。如果数据源和引用它的包在同一个项目中,在数据源更改时就会自动更新数据源引用的连接字符串属性。
尤其是第二点,对于我们的实际应用作用尤其大。在实际使用中,我们所使用的数据库往往不是固定在某个服务器,数据库的别名也是多种多样。有了数据源,就可以直接修改数据源,而使后面的动作直接定位新的数据库上。
在数据源和引用它的连接管理器之间没有依赖关系。即使数据源不再是项目的一部分,包仍然有效,因为有关该数据源的信息(例如其连接类型和连接字符串)已包括在包定义中。
数据源对象表示对数据源的简单连接,通过它可以访问它所引用的数据存储区中的对象。例如,连接到 SQL Server AdventureWorks 示例数据库的数据源对象包括来自该数据库的所有 60 个表。如果只想使用数据库中的一部分表、视图和数据,就应考虑在数据源上创建数据源视图,然后用该数据源视图代替数据源。
数据源视图是关系架构的已命名并保存的子集。数据源视图可以包含架构信息(如表、唯一键和外键关系)和属性(如命名查询、计算列、关系和逻辑主键)。
使用 Integration Services 包中数据源视图有下列优点:
1、数据源视图可以在一次定义后,由多个数据流组件使用。
2、可以刷新数据源视图以反映其基础数据源中的更改。
3、数据源视图从生成它的数据源中缓存元数据。
4、数据源视图可以专注于出现在各个数据流组件的用户界面上的对象列表。
将引用数据源对象的连接管理器添加到包之后,包中的数据流组件就可以使用该数据源视图来定义源和目标。使用引用表的转换(如查找转换)也可以使用数据源视图。
可以根据一个数据源生成多个数据源视图,并修改每个数据源视图以适合需要。例如,使用引用 AdventureWorks 数据库的数据源,可以生成一个仅包含 Production.Product 表的数据源视图和另一个仅包含 HumanResources.Employee 表的数据源视图。
数据源视图和引用它的包之间不存在依赖关系。即使数据源视图不再是项目的一部分,包也将继续有效,因为该数据源视图的 SQL 表示形式已保存在包定义中。