求教SSIS中Webservice组件和XML数据源的使用问题

pbsh 2012-08-02 02:45:20
有一个第三方Webservice接口,我使用SSIS的Webservice组件抓取到一个XML文件,内容如下:

<?xml version="1.0" encoding="utf-16"?>
<Report xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<TaskName xmlns="http://send.com/">7.26-17点正式发送</TaskName>
<Subject xmlns="http://send.com/">奥运跳水金牌榜</Subject>
<SenderName xmlns="http://send.com/" />
<SenderEmail xmlns="http://send.com/" />
<ReplyName xmlns="http://send.com/" />
<ReplyEmail xmlns="http://send.com/" />
<SendDate xmlns="http://send.com/">2012-07-26T17:00:00</SendDate>
<FinishDate xmlns="http://send.com/">2012-07-26T17:02:58</FinishDate>
<Total xmlns="http://send.com/">1267</Total>
<Sent xmlns="http://send.com/">1267</Sent>
<HardBounce xmlns="http://send.com/">188</HardBounce>
<SoftBounce xmlns="http://send.com/">21</SoftBounce>
<OpenCount xmlns="http://send.com/">105</OpenCount>
<UniqueOpenCount xmlns="http://send.com/">83</UniqueOpenCount>
<MailClicked xmlns="http://send.com/">5</MailClicked>
<LinkClicked xmlns="http://send.com/">0</LinkClicked>
<AllClicked xmlns="http://send.com/">6</AllClicked>
<Unsubscribe xmlns="http://send.com/">3</Unsubscribe>
</Report>


希望通过使用XML任务组件和XML数据源导入到数据库中,SQL SERVER 2008 R2

初步的一个想法是用XML任务把原文件转换成一个简单的XML文件,再用数据流中的XML源把数据导入数据库。

遇到一个问题:通过XML源中的生成XSD文件的按钮,生成的XSD文件,但是数据源列中却没有显示可用的列,组件提示无输入和输出。

求高手帮忙指点一下这个方法中需要的XSLT和XSD文件应该如何生成,能给出文件内容最好,谢谢。
...全文
405 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
筱筱澄 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

我用了两个XSLT文件做转换,一个增加根节点,一个去除Multiple namespaces,搞定了。
[/Quote]
犀利,恭喜。感谢分享。
pbsh 2012-08-08
  • 打赏
  • 举报
回复
我用了两个XSLT文件做转换,一个增加根节点,一个去除Multiple namespaces,搞定了。
  • 打赏
  • 举报
回复
参考下面的资料
http://hi.baidu.com/moniteryao/item/ce73e988ecbf3fc799255f7f
pbsh 2012-08-03
  • 打赏
  • 举报
回复
不能正常读取得问题已经解决了,是因为Webservice输出的文件缺少根节点,添加后就可以了。
有没有XML高手知道怎么通过XSLT文件增加一个根节点?谢谢。
pbsh 2012-08-02
  • 打赏
  • 举报
回复
因为以后需要不断的抓取XML数据文件然后导入数据库,所以我考虑的是用SSIS来做,定义一个XSD,然后用变量的形式重复抽取数据。
  • 打赏
  • 举报
回复
LZ可以使用sp_xml_preparedoucment和openxml来操作啊
DECLARE @hdoc int 
DECLARE @doc varchar(1000)
SET @doc ='
<ROOT>
<Customer CustomerID="VINET" ContactName="Paul Henriot">
<Order CustomerID="VINET" EmployeeID="5" OrderDate="1996-07-04T00:00:00">
<OrderDetail OrderID="10248" ProductID="11" Quantity="12"/>
<OrderDetail OrderID="10248" ProductID="42" Quantity="10"/>
</Order>
</Customer>
<Customer CustomerID="LILAS" ContactName="Carlos Gonzlez">
<Order CustomerID="LILAS" EmployeeID="3" OrderDate="1996-08-16T00:00:00">
<OrderDetail OrderID="10283" ProductID="72" Quantity="3"/>
</Order>
</Customer>
</ROOT>'
EXEC sp_xml_preparedocument @hdoc OUTPUT, @doc
--上面只是读取了XML,要想获取XML数据还需要使用OPENXML,代码如下:
SELECT *
FROM openxml(@hdoc,'/ROOT/Customer',1)
WITH (CustomerID VARCHAR(40),ContactName VARCHAR(40))
SSIS说明 SSIS初步认识 SSIS常见组件 SSIS变量使用 SSIS开发注意 SSIS包的部署 SQL创建作业 讲解内容 ETL-SSIS培训教程全文共34页,当前为第1页。 SSIS说明——什么是SSIS SSIS是Microsoft SQL Server Integration Services的简称,是生成高性能数据集成解决方案(包括数据仓库的提取、转换和加载 (ETL) 包)的平台(农银和兴业简称为ETL)。 ETL-SSIS培训教程全文共34页,当前为第2页。 SSIS说明——功能 SQL Server Integration Services (SSIS) 提供一系列支持业务应用程序开发的内置任务、容器、转换和数据适配器。您无需编写一行代码,就可以创建 SSIS 解决方案来使用 ETL 和商业智能解决复杂的业务问题,管理 SQL Server 数据库以及在 SQL Server 实例之间复制 SQL Server 对象 ETL-SSIS培训教程全文共34页,当前为第3页。 ETL说明——特色 1、可视化环境 熟悉了SSIS的可视化操作后,给你的感觉应该是震撼的,因为几乎你所能想得到的ETL操作都能通过简单托拽控件加以实现。 2、强大的参数设置功能 SSIS的另一个特色是的参数设置功能,这一点比DTS有了明显的进步。连接参数,源与目的关联的表名或者SQL语句的条件子句,都可以通过参数来构建,甚至参数本身可以由其他参数动态赋值(通过Expression功能),这就给用户提供了非常广阔界面编程的空间,充分发挥你的想象力,就能够在可视化界面上实现复杂逻辑功能的ETL操作。 ETL-SSIS培训教程全文共34页,当前为第4页。 1、创建SSIS项目文件 (1)在开始菜单,找到SQL数据库文件下的SQL Server Business Intelligence Development Studio程序,单击运行程序。 (2)在打开的页面,点击左上角的"文件 新建 项目",在商业智能项目目录下选择Integration Service项目,填入名称和位置,点击确定。 SSIS初步认识 ETL-SSIS培训教程全文共34页,当前为第5页。 SSIS初步认识 2、打开现有的SSIS项目文件 找到需要打开SSIS项目的文件夹,打开文件。找到文件后缀名为.sln的文件,并运行该文件 ETL-SSIS培训教程全文共34页,当前为第6页。 SSIS初步认识 3、页面介绍 菜单栏、工具箱、设计区、连接管理器、解决方案资源管理器等 菜单栏:所有的菜单选项 工具箱:所有的组件 设计区:开发组件区域 连接管理器:当前SSIS包所用到的数据源 解决方案资源管理器:可以查看数据源和项目文件 补充:整体风格和微软的C/S页面类似 ETL-SSIS培训教程全文共34页,当前为第7页。 SSIS初步认识 4、创建SSISSSIS所有的开发都是在包完成的。 创建包步骤:在右侧的解决方案资源管理器,右键SSIS包文件夹,选择新建SSIS包,这样就可以开始ETL了 ETL-SSIS培训教程全文共34页,当前为第8页。 SSIS初步认识 5、创建数据源 做数据处理,当然不能少了数据,所以还需要添加数据源。这里的数据源包括数据来源和数据目标。在右侧的解决方案资源管理器,右键数据源,选择新建数据源。 ETL-SSIS培训教程全文共34页,当前为第9页。 SSIS初步认识 6、数据源分类: 默认添加的是SQL Server数据源,提供程序选择"本机OLE DB\SQL Server Native Client10.0(SQL SERVER2008)"; Oracle数据源,我们可以选择"Oracle Provider for OLE DB"。 ETL-SSIS培训教程全文共34页,当前为第10页。 SSIS常用组件 1、执行SQL任务 执行一条或者多条SQL语句,SQL类型可以是增、删、改、查,也可以是执行一个存储过程。 补充:由于不同的数据源有不同的语法,并且SSIS对数据语言的支持度不一样,在数据库能成功执行的SQL,在执行SQL任务不一定能正常执行。 例如:在执行SQL任务,SQL SERVER语句支持注释(--),而在Oracle数据源下,不支持注释(--);还有调用其他数据源,需要主要用户是否有权限去操作表。 ETL-SSIS培训教程全文共34页,当前为第11页。 SSIS常用组件 2、数据流任务 数据流任务封装数据流引擎,该引擎在源和目标之间移动数据,使用户可以再移动数据时转换、清除和修改数据。将数据流任务添加到包控制流使得包可以提取、转换和加载数据。一个包可以有多个数据流任务,也可以包含零个数据流任务。 ETL-SSIS培训教程全
SQL Server 2008商业智能完美解决方案 2/3 SQL Server 2008 2010 商业智能完美解决方案 作者:兰吉特(Lynn Langit) 出版社:人民邮电出版社; 第1版 (2010年8月1日) ISBN:7115231117, 9787115231116 页码:545 -------------------------------------------------------------------------------- 《SQL Server 2008商业智能完美解决方案》: 利用Microsoft SQL Server 2008实现灵活的商业智能解决方案使用Microsoft 完善的BI工具构建B0解决方案的必备指南,使用SQLServer 2008设计、开发和部署更有效的数据集成、报表、分析解决方案所需的权威操作指南。不论是商业智能(B0)编程的新手还是老手,都会从受益。通过专家团队的真实示例和高明见解,读者能够掌握构建商业智能解决方案的概念、工具和技术,从而真正提供客户所需的智能性商业价值。 《SQL Server 2008商业智能完美解决方案》研究如下内容: 管理开发生命周期,打造BI团队; 深入研究SQL Servet Analysis Services、Integration Services和 Reporting Services; 使用Business Intelligence Development Studio(BIDS); 编写对销售数据进行分级、排序和深化的查询; 开发提取、转换、加载(ETL)解决方案; 添加源代码控制系统; 通过加密和凭据保护部署的包; 用MDX和DMX查询设计器构建基于OLAP多维数据集和数据挖掘模 型的报表; 用NET代码建立并实现自定义对象; 在Microsoft Office Excel和Office SharePoint Server查看报表。 微软公司US-SQL Analysis Services 首席开发经理Donaod Farmer倾力作序 内容提要 -------------------------------------------------------------------------------- 《SQL Server 2008商业智能完美解决方案》介绍如何使用Microsoft SQL Server 2008开发商业智能(BI)解决方案。《SQL Server 2008商业智能完美解决方案》共分为4部分。第一部分阐述了商业智能基础、可视化商业智能结果、构建有效的商业智能流程、商业智能解决方案的物理架构、面向架构师的OLAP逻辑设计概念;第二部分面向Analysis Services开发人员,详细介绍了如何使用BIDS以及BIDS的所有功能,提供了使用SSAS构建OLAP多维数据集和数据挖掘模型的指南;第三部分面向Integration Services开发人员,详细介绍如何使用SSIS开发ETL软件包,利用ETL包加载OLAP多维数据集和数据挖掘结构;第四部分详细介绍了SSRS的架构,以及Excel、Visio或Office SharePoint Server 2007作为BI客户端的实现。 《SQL Server 2008商业智能完美解决方案》结合专家团队提供的实际示例和丰富经验进行介绍,让读者能够直观轻松地掌握构建商业智能(BI)解决方案的概念、工具和技术,是一本不可多得的商业智能开发参考指南。无论是商业智能(BI)编程新手还是经验丰富的老手,都可从《SQL Server 2008商业智能完美解决方案》获益。 目录 -------------------------------------------------------------------------------- 第一部分 面向商业决策者和架构师的商业智能 第1章 商业智能基础 3 1.1 商业智能和数据建模 3 1.2 OLTP和OLAP 4 1.2.1 联机事务处理 4 1.2.2 联机分析处理 6 1.3 常用BI术语 9 1.3.1 数据仓库 9 1.3.2 数据市场 10 1.3.3 多维数据集 11 1.3.4 决策支持系统 11 1.3.5 数据挖掘系统 11 1.3.6 提取、转换和加载系统 12 1.3.7 报表处理系统 12 1.3.8 关键绩效指标 12 1.4 Microsoft BI解决方案的核心组件 12 1.4.1 SQL Server 2008 Analysis Services 13 1.4.2 SQL Server 2008 Reporting Services 15 1.4.3 SQL Ser

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧