利用bulk insert指令来将csv文件导入SQL Server
来源:互联网 发布:昂立网络教育 编辑:程序博客网 时间:2024/06/06 03:07
之前在网上下了许多csv格式的数据。通过数据库导入感觉有点麻烦,于是打算写个脚本来执行。通过搜索,发现用bulk insert指令可以完成这一功能。然而在执行的过程中,MSSQL总是报错称
大容量加载失败。数据文件中第 1 行的第 46 列太长。请验证是否正确指定了字段终止符和行终止符。 无法从链接服务器 "(null)" 的 OLE DB 访问接口 "BULK" 获取所需的接口("IID_IColumnsInfo")。
经过多次摸索总算解决了这一问题。
在导入之前,首先需要在自己的数据库下建立一个表,用以存放导入后的数据。在建立表的时候,就需要规定好各列的格式和名字。
create table table_name( colname_1 VARCHAR(100), colname_2 VARCHAR(100), colname_3 VARCHAR(100), ... ... colname_n VARCHAR(100),) ;
我因为在导入的时候碰到了波折,为了控制变量查错,所以把格式统一设置为了varchar(100),到时候再改。
如果不想重新建立表,也可以通过
alter table table_name alter column column_name varchar(max)
其中varchar(max)为想要改的格式。
在建立了表格以后,就需要执行bulk insert指令了。
关于bulk insert指令详细的用法,可以参照http://blog.csdn.net/jackmacro/article/details/5959321这篇文章的内容。
我的csv文件中,
列之间用’,’分割,所以FIELDTERMINATOR属性设为’,’ ;
数据从第二行开始,所以FIRSTROW=2 ;
关于行分隔符,也就是ROWTERMINATOR的值,我看到的所有教程里面都是填’\n’,然而实际使用的时候不知道是什么情况,总是报错,也就是之前提到过的错误。经过多方查找,将行分隔符改为‘0x0a’以后,可以解决这个问题。
所以,此处的sql插入指令如下
bulk insert database_name.datatable_namefrom 'file_path'with( FIELDTERMINATOR=',', ROWTERMINATOR='0x0a' , FIRSTROW=2) ;
执行结果如下可见指令有效
0 0
- 利用bulk insert指令来将csv文件导入SQL Server
- SQL Server Bulk Insert批量数据导入
- SQL Server Bulk Insert批量数据导入
- SQL Server Bulk Insert 批量数据导入
- CSV导入数据库-BULK INSERT
- BULK INSERT如何将大量数据高效地导入SQL Server
- 如何将 CSV文件导入到SQL Server数据库
- 用bulk insert从文本文件导入数据到sql server
- (总结) SQL Server Bulk Insert 批量数据导入
- (总结) SQL Server Bulk Insert 批量数据导入
- (总结) SQL Server Bulk Insert 批量数据导入
- Bulk Insert:将文本数据(csv和txt)导入到数据库中
- 使用 BULK INSERT 或 OPENROWSET(BULK...) 导入批量数据 (SQL Server)
- SQL server 导入csv文件到数据表
- bulk insert 导入文件为时间变量
- bulk insert 导入文件为时间变量
- SQL Server中采用BULK INSERT实现大数据量文本文件批量导入
- SQL Server中采用BULK INSERT实现大数据量文本文件批量导入
- AVA编写的使用Socket模拟Http的GET操作
- adb常用命令总结
- JAVA基础——集合体系(常用接口、类、方法)
- LeetCode241——Different Ways to Add Parentheses
- Unity5 AssetBundle管理
- 利用bulk insert指令来将csv文件导入SQL Server
- hdu 1698 Just a Hook (线段树区间更新裸题)
- springMVC页面通过问号传值乱码问题解决
- JAVA编写的一个简单的Socket实现的HTTP响应服务器
- js基础3
- Objective-C中的方法重载与初始化方法
- 《數據結構與算法分析:C語言描述》習題2.13代碼及自己的想法
- Unity 打印信息
- 如何使用Cocos2d-x 3.0制作基于tilemap的游戏:第三部分(完)