设为首页 收藏本站
查看: 1220|回复: 0

[经验分享] 微软BI 之SSIS 系列

[复制链接]

尚未签到

发表于 2015-9-24 08:40:06 | 显示全部楼层 |阅读模式
开篇介绍
  由于项目需要我们会从SharePoint 上读取一些配置数据,同时也有可能执行一些回写操作去更新SharePoint 的数据。之前没有做过这样的操作,有的也应该是通过 C# 编程去获取或者写入一些数据。查阅了一些相关的文章,自己也动手测试了一下如何在 SSIS Package 中访问SharePoint List 并将数据写入 SharePoint List。
  两个操作


  • 读取SharePoint List 的数据到数据库
  • 从数据库中筛选一些数据然后插入到一个新的 SharePoint List 中
  这些操作不涉及到任何SharePoint 能够实现的功能,仅仅只是演示如何通过 SSIS 来完成这些操作, 也无关这个读写逻辑是否合理了。

实现过程
  步骤一 – 安装 SharePoint List Source and Destination
  由于SSIS 是没有SharePoint 操作的控件的,但是目前已经有比较成型的第三方工具可以使用。
  到 CodePlex 中去下载这个控件 http://sqlsrvintegrationsrv.codeplex.com/releases/view/17652
DSC0000.png                     
  我目前的测试环境是 VS 2008,我下载的是第一个,应该也能兼容到 VS 2010。如果是 2012 版本,应该可以使用第二个 2012 的 Beta 版本,其安装和操作的过程大同小异。
  下载之后安装,然后打开 VS 2008,在项目中 Data Flow Source 工具栏或者其他工具拦点击右键选择 Choose Items 后就会出现这个界面。
DSC0001.png
  如果是VS 2010 或者 VS 2012 有可能不需要我们手动的添加这两个控件,也有可能连 SSIS Data Flow Items 可能都找不到。那么很有可能就是在安装的同时,这两个控件就已经自动的添加到 Data Flow 的工具箱了。
  VS 2008 还是这样来选择一下,然后就能在工具箱看到这两个控件了,一个是Source,一个是Target。
  默认情况下它们会出现在 General 下面。
DSC0002.png
  你可以按照分类把 SharePoint List Source 拖放到 Data Flow Sources 和 Data Flow Destinations 中。
DSC0003.png
  这样第一步配置和安装的过程就算是完成了。
  步骤二 –  读取 SharePoint List 的数据到数据库表
DSC0004.png
  这里有一个List – Area Code,现在我们要把这个List 中的 Area Code,Region,Timezone Offset 还有 Description的内容读取到数据库中。
  在设计 SSIS 的阶段也可以根据数据源的数据来创建表,但是最好根据实际需求先创建好表,结构如下-



USE BIWork
GO
IF OBJECT_ID('dbo.Area_Code','U') IS NOT NULL
DROP TABLE dbo.Area_Code
GO
CREATE TABLE dbo.Area_Code
(
ACID INT PRIMARY KEY IDENTITY(1,1),
AreaCode NVARCHAR(10) NOT NULL,
Region NVARCHAR(10),
TimeOffset NVARCHAR(10),
Descript NTEXT
)
  创建 SSIS 项目和Package 包,并在 Control Flow 中添加一个Data Flow,命名为 Extract SharePoint List。
DSC0005.png
  在这个Data Flow 中,添加 SharePoint List Source。
DSC0006.png
  在编辑SharePoint List Source 之前先要创建一个 SharePoint Connection Manager。注意 – 不同的版本可能有一些区别,有的版本不需要 Connection Manager 没有这一项。
  在 Connection Manager 中 New Connection 选择 SPCRED就可以了。
DSC0007.png
  顺便把数据库的 Connection Manager 都创建好,创建完的结果应该是。
DSC0008.png
  一个是 BIWORK 数据库的连接,另外两个都是SharePoint 的连接,后面都会用到。
  下面就要对 SharePoint List Source 进行编辑。
  在 SharePoint List Source 的Connection Manager 中选择好刚创建的连接。
DSC0009.png
  Component Properties 中 有几个地方要注意。
DSC00010.png
  由于在 SharePoint 中访问List 的URL 是http://biwork/Lists/Area%20Code/AllItems.aspx
  因此在填写 SiteURL 的时候就只应该填写 Lists 之前的部分http://biwork
  在 SiteListName 中填写上需要访问的List 名称,在这里我们访问的是 Area Code。
  不需要的Column 直接删除掉,只保留需要的Column,这样可以提高效率。
DSC00011.png
  就点击保存,那么这样 SharePoint List Source 配置就完成了。
  添加一个 OLE DB Destination。
DSC00012.png
  Mapping 的选择。
DSC00013.png
  保存后执行Package并查询数据库结果。
DSC00014.png
DSC00015.png
  Description 中有其它的 HTML 标签,应该是在设置 SharePoint List 的时候 Description Column 的类型是 Multiple line of Text 因此对应的数据库 Descript 类型也是 NTEXT 的,其它单行的数据就没有出现HTML 标签。
  步骤三 – 将数据库中的数据导入到新的SharePoint List
DSC00016.png
  创建一个新的List,并查询数据库中 Time Offset 为-5的数据插入到这个新的List 中 – New Area。
  创建 Data Flow Task 并且在 OLE DB Source 中使用查询语句筛选出 Time Offset 为 -5 的数据。



SELECT AreaCode,
Region
FROM dbo.Area_Code
WHERE TimeOffset = -5
DSC00017.png
  创建 SharePoint List Destination。
DSC00018.png
  Component Properties 配置。
DSC00019.png
  SiteListName – New Area
  SiteURL – http://biwork
  Input Column 中应该要刷新一下才能看到 Mapping 信息。
DSC00020.png
  Insert Into SharePoint List Data Flow
DSC00021.png
  执行Package 包
DSC00022.png
  检查 SharePoint List  - New Area 添加成功
DSC00023.png
  这样就完成对 SharePoint List 的读取和写入操作了。
  除此之外还可以做删除 更新等操作,如有需要请参看其它文章。


  • http://sqlsrvintegrationsrv.codeplex.com/releases/view/17652
  • http://msdn.microsoft.com/en-us/library/hh368261.aspx
  • http://dataqueen.unlimitedviz.com/2011/06/how-to-use-a-sharepoint-list-as-a-data-source-in-your-ssis-package/
  PS:最后补充一下,关于在 Visual Studio 2010 和 Visual Studio 2012 版本中这个插件都是安装完了重启一下 VS 就可以了。并且 SharePointList 组件是属于数据流的,在控制流中是看不到的。
  以下我的 Visual Studio 2010 版本中的 SharePoint List Source 和 SharePoint List Destination。
DSC00024.png
  以下我的 Visual Studio 2012 版本中的 SharePoint List Source 和 SharePoint List Destination。
DSC00025.png
更多 BI 文章请参看 BI 系列随笔列表 (SSIS, SSRS, SSAS, MDX, SQL Server) 如果觉得这篇文章看了对您有帮助,请帮助推荐,以方便他人在 BIWORK 博客推荐栏中快速看到这些文章。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-117947-1-1.html 上篇帖子: [SharePoint 2010 的那些事儿 – Secure Store Service]SharePoint 2010中的单点登录 下篇帖子: K2与Sharepoint工作流
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表