使用OPENROWSET(BULK...)从平面文件加载数据
要使用OPENROWSET首先要开启一个configure选项
sp_configure ‘show advanced options’, 1;
GO
RECONFIGURE;
GO
sp_configure ‘Ad Hoc Distributed Queries’, 1; --Switch on specific functionality
GO
RECONFIGURE;
GO
OPENROWSET可以把整个flatfile读取成二进制数据流,这个时候你需要自己再用cast+substring的方法去截取数据成为栏位
SELECT *, CAST(BulkColumn as varchar(max)) FROM OPENROWSET(BULK N'D:\Test.txt', SINGLE_BLOB) AS Document;
另一种做法是用formatfile,这样select出来的数据栏位已经按formatfile定义好的格式显示出来
SELECT a.* FROM OPENROWSET( BULK 'D:\Test.txt', FORMATFILE = 'D:\test.fmt') AS a;
那formatfile怎么生成的呢?
bcp JerryDB.dbo.ssis_merge_test format nul -c -f D:\test.fmt -S JERRYCHENLAP\MSSQLSERVER2014 -T
上面的命令行生成下面的数据到D:\test.fmt这个文件
10.0
3
1 SQLCHAR 0 24 "\t" 1 col1 ""
2 SQLCHAR 0 100 "\t" 2 col2 Chinese_PRC_CI_AS
3 SQLCHAR 0 12 "\r\n" 3 col3 ""
加个-x可以变成xml格式的
bcp JerryDB.dbo.ssis_merge_test format nul -c -x -f D:\test.fmt -S JERRYCHENLAP\MSSQLSERVER2014 -T
上面的命令行生成下面的数据到D:\test.fmt这个文件
<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RECORD>
<FIELD ID="1" xsi:type="CharTerm" TERMINATOR="\t" MAX_LENGTH="24"/>
<FIELD ID="2" xsi:type="CharTerm" TERMINATOR="\t" MAX_LENGTH="100" COLLATION="Chinese_PRC_CI_AS"/>
<FIELD ID="3" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="12"/>
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="col1" xsi:type="SQLDATETIME"/>
<COLUMN SOURCE="2" NAME="col2" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="3" NAME="col3" xsi:type="SQLINT"/>
</ROW>
</BCPFORMAT>
参考:
创建格式化文件
https://technet.microsoft.com/zh-cn/library/ms191516(v=sql.90).aspx
OPENROWSET (Transact-SQL)
https://msdn.microsoft.com/zh-cn/library/ms190312.aspx
使用格式化文件大容量导入数据
https://technet.microsoft.com/zh-cn/library/ms178129(SQL.90).aspx
使用OPENROWSET(BULK...)从平面文件加载数据的更多相关文章
- SQL Server ->> 自动创建表并从文件加载数据
这个存储过程自动创建表并从文件加载数据. 有一点需要说明的是Excel 12.0驱动是兼容了Excel 97-2003和Excel 2007两者格式的Excel文件. CREATE PROCEDURE ...
- 使用Spark加载数据到SQL Server列存储表
原文地址https://devblogs.microsoft.com/azure-sql/partitioning-on-spark-fast-loading-clustered-columnstor ...
- Bootstrap-Select 动态加载数据的小记
关于前端框架系列的可以参考我我刚学Bootstrap时候写的LoT.UI http://www.cnblogs.com/dunitian/p/4822808.html#lotui bootstrap- ...
- winform异步加载数据到界面
做一个学习记录. 有两个需求: 1.点击按钮,异步加载数据,不卡顿UI. 2.把获取的数据加载到gridview上面. 对于需求1,2,代码如下: public delegate void ShowD ...
- Ajax 加载数据 练习 自我有些迷糊了,写的大概请谅解 ^ _ ^
查询表的显示,查询显示如果不嵌入PHP代码的话,用ajax怎么实现? <h1>显示数据</h1> <table width="100%" bord ...
- 分页插件思想:pc加载更多功能和移动端下拉刷新加载数据
感觉一个人玩lol也没意思了,玩会手机,看到这个下拉刷新功能就写了这个demo! 这个demo写的比较随意,咱不能当做插件使用,基本思想是没问题的,要用就自己封装吧! 直接上代码分析下吧! 布局: & ...
- 使用 jQuery Ajax 在页面滚动时从服务器加载数据
简介 文本将演示怎么在滚动滚动条时从服务器端下载数据.用AJAX技术从服务器端加载数据有助于改善任何web应用的性能表现,因为在打开页面时,只有一屏的数据从服务器端加载了,需要更多的数据时,可以随着用 ...
- 向上滚动或者向下滚动分页异步加载数据(Ajax + lazyload)[上拉加载组件]
/**** desc : 分页异步获取列表数据,页面向上滚动时候加载前面页码,向下滚动时加载后面页码 ajaxdata_url ajax异步的URL 如data.php page_val_name a ...
- AppCan学习笔记----关闭页面listview动态加载数据
AppCan页面关闭 AppCan 的页面是由两个HTML组成,如果要完全关闭的话需要在主HTML eg.index.html中关闭,关闭方法:appcan.window.close(-1); 管道 ...
随机推荐
- Unity3D中灵活绘制进度条
有时我们需要在Unity3D中绘制进度条,如: 或 如果使用4.6版本以下的unity绘制环形的进度条可能需要费点劲.我搜到的大多数方法都是用NGUI插件,但有时只是 ...
- 查看JVM内存
你知道如何进行JVM内存查看,这里和大家分享几个JVM内存查看方法,希望对你的学习有所帮助,通常情况下可以用代码查看,也可以在eclipse中增添相关信息后直接查看. JVM内存查看方法 可以用代码查 ...
- vs2012 condition_variable notify_one 崩溃
vs2012项目中用到 condition_variable系统方法,程序运行过程过程中偶尔出现notify_one崩溃, 程序运行的服务器系统版本是windows server 2008 R2 SP ...
- 《JavaScript高级程序设计》第6章 面向对象程序设计
6.1 对象属性 6.1.1 属性类型 1. 数据属性 我们一般所说的属性就是数据属性,它用来将一个字符串名称映射到某个值上 数据属性的4个特性: configurable, enumerable, ...
- Poj 1904 King's Quest 强连通分量
题目链接: http://poj.org/problem?id=1904 题意: 有n个王子和n个公主,王子只能娶自己心仪的公主(一个王子可能会有多个心仪的公主),现已给出一个完美匹配,问每个王子都可 ...
- ios读取通讯录信息
ios读取通讯录信息 (2012-05-22 14:07:11) 标签: ios读取通讯录 it iphone如许app读取通讯录信息,读取通讯录信息时需要加载AddressBookUI 和Add ...
- 重启nginx后丢失nginx.pid解决
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
- HDU1058Humble Numbers
Humble Numbers Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u ...
- windows phone MVVM开发心得第一天
之前刚刚学了asp.net网站的三层架构,为其中的优点着迷,可惜寒假本来决定学下MVC的计划泡汤了,刚开学,学了下windows phone 的MVVM模式的开发,在此留下点心得和脚印,第一天只是学了 ...
- 2014 ACM/ICPC Asia Regional Xi'an Online Paint Pearls
传说的SB DP: 题目 Problem Description Lee has a string of n pearls. In the beginning, all the pearls have ...