SSIS中xml的输入输出
输出为XML的两种方法
1.用数据流, 将平面文件作为DES输出
在SQL里将要输出的数据查询成为单列的字符串: SELECT (SELECT * FROM A FOR XML ROOT('A'),ELEMENTS) AS A
转换该列的数据类型为 NTEXT
用平面文件DES接收转换后的列,并保存为.xml格式(而非.txt)
2.用控制流, 在script tast用字节流输出
在执行SQL里将要输出的数据查询为XML格式 SELECT * FROM A FOR XML ROOT('A'),ELEMENTS
用变量接收保存该XML
在script task里,用字节流的方式把XML写到文件(写的路径也可以用变量传递)
写入文件时,默认会加上<ROOT>节点,可以用字符串处理的repace方法将其替换为空串
3.不使用 SSIS,直接通过 SQL也可以输出到文件
-- XP_CMDSHELL 默认情况处于安全考虑,该功能是关闭的,需要用sp_configure设置为开启,用完之后再设置为关闭
EXEC XP_CMDSHELL 'BCP "SELECT(SELECT TOP 2 * FROM [AdventureWorks2012].[Sales].[SalesOrderDetail]
FOR XML RAW(''SalesOrderDetail''),ROOT(''SalesOrder''),ELEMENTS )AS XML_Order " QUERYOUT "D:\text.xml" -c -T'
输入XML解析数据到数据库
1.数据流中,用XML作为源
首先需要确定XML是一个标准文件,能够被SSIS解析
需要关于XML描述的XSD文件(可以根据已有的xml生成一个XSD文件)
DES表的字段一般都可以用nvarchar接收; 一般默认xml输出的字符串类型的长度为unicode 255
标签里带有“xmlns”命名空间的XML文件,可以自己写一个XSLT文件,用XSLT文件规定的格式,重新生成不带命名空间的XML文件
http://www.cnblogs.com/chenxizhang/archive/2009/06/20/1507287.html
2.XML字符串
比如,基于SOAP协议的WebService,用WSDL传递来的XML字符串
如果XML字符串的标签里带有“xmlns”命名空间,可以考虑用SQL解析(先将XML保存到临时表,再用SQL的replace方法去掉xmlns,然后用SQL解析)
SSIS中xml的输入输出的更多相关文章
- 微软BI 之SSIS 系列 - 在 SSIS 中使用 Web Service 以及 XML 解析
开篇介绍 Web Service 的用途非常广几乎无处不在,像各大门户网站上的天气预报使用到的第三方 Web Service API,像手机客户端和服务器端的交互等都可以通过事先设计好的 Web Se ...
- 转载SSIS中的容器和数据流—数据转换(Transformations)续
数据挖掘请求 数据挖掘任务是SSIS中一个很重要的任务,它的思想来源于一些算法.数据挖掘请求运行数据挖掘请求,并将结果输出到数据流.它还可以添加一些预测新列,一些应用场合如下列举: 根据已知的一些列, ...
- 在SSIS中使用自定义的DLL文件
原文:在SSIS中使用自定义的DLL文件 步骤1.开发dll(需要签名) using System;using System.Collections.Generic;using System.Text ...
- [转]在SSIS中,使用“包配置”时的常见错误与解析
本文转自:http://www.cnblogs.com/invinboy/archive/2008/05/26/1034312.html 在以前的DTS中,在包的开发.测试.发布迁移过程中你必须手动的 ...
- [转]SSIS中的脚本—脚本任务
本文转自:http://www.cnblogs.com/tylerdonet/archive/2011/09/16/2179123.html 脚本任务主要用来控制数据流,当现有的控制流 任务不能满足复 ...
- 关于SSIS中解密FTP字符串的方法
FTP(File Transfer Protocol),是文件传输协议的简称.用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).用户可以通过它把自己的PC ...
- excel 导入数据库 / SSIS 中 excel data source --64位excel 版本不支持-- solution
当本地安装的excel(2013版) 是64-bit时:出现的以下两种错误 解决: 1. excel 导入数据库 , 如果文件是2007则会出现:“The 'Microsoft.ACE.OLEDB.1 ...
- 2016 - 1- 23 iOS中xml解析 (!!!!!!!有坑要解决!!!!!!)
一: iOS中xml解析的几种方式简介 1.官方原生 NSXMLParser :SAX方式解析,使用起来比较简单 2.第三方框架 libxml2 :纯C 同时支持DOM与SAX GDataXML: D ...
- Java中XML格式的字符串4读取方式的简单比较
Java中XML格式的字符串4读取方式的简单比较 1.java自带的DOM解析. import java.io.StringReader; import javax.xml.parsers.Docum ...
随机推荐
- 史上最全的大厂Mysql面试题在这里!
1.MySQL的复制原理以及流程 基本原理流程,3个线程以及之间的关联: 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中: 从:io线程——在使用star ...
- 一次apk打开时报内存溢出错误,故写下内存溢出的各种原因和解决方法
原转载:https://blog.csdn.net/cp_panda_5/article/details/79613870 正文内容: 对于JVM的内存写过的文章已经有点多了,而且有点烂了,不过说那么 ...
- QT读取xml配置文件
//获取字符串字段 QString ConfigHelper::GetStringConfigValue(QString str) { if(str == "InitDeviceNo&quo ...
- Git 学习总结
概况 CVS 及 SVN 都是集中式的版本控制系统,而 Git 是分布式版本控制系统. 集中式版本控制系统最大的毛病就是必须联网才能工作: 分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是 ...
- PostgreSQL 10.7 linux 主从配置
PostgreSQL 10.7 主从安装 硬件环境 云服务商:华为云 Linux: CentOS7.1 工具:Xshell Xftp IP:114.115.251.168 Port: 5432 543 ...
- How to fix corrupt HDFS FIles
1 问题描述 HDFS在机器断电或意外崩溃的情况下,有可能出现正在写的数据(例如保存在DataNode内存的数据等)丢失的问题.再次重启HDFS后,发现hdfs无法启动,查看日志后发现,一直处于安全模 ...
- 再谈AbstractQueuedSynchronizer1:独占模式
关于AbstractQueuedSynchronizer JDK1.5之后引入了并发包java.util.concurrent,大大提高了Java程序的并发性能.关于java.util.concurr ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十║Vue基础终篇:传值+组件+项目说明
缘起 新的一天又开始啦,大家也应该看到我的标题了,是滴,Vue基础基本就到这里了,咱们回头看看这一路,如果你都看了,并且都会写了,那么现在你就可以自己写一个Demo了,如果再了解一点路由,ajax请求 ...
- [截稿日期] 人机交互与普适计算方向的A、B类国际会议
CCF推荐的人机交互与普适计算方向的A.B类会议截稿日期 一.A类 序号 会议简称 会议全称 出版社 截稿日期 网址 1 CHI ACM Conference on Human Factors i ...
- Spring Boot分布式系统实践【基础模块构建3.3】注解轻松实现操作日志记录
日志注解 前言 spring切面的编程,spring中事物处理.日志记录常常与pointcut相结合 * * Pointcut 是指那些方法需要被执行"AOP",是由"P ...