关闭

【SQL Server数据迁移】把csv文件中的数据导入SQL Server的方法

6889人阅读 评论(0) 收藏 举报
分类:
--1.修改系统参数
--修改高级参数
sp_configure 'show advanced options',1
go

--允许即席分布式查询
sp_configure 'Ad Hoc Distributed Queries',1
go

--如果配置的值不在合理范围(在最小值最大值范围内),那么可以强制覆盖
reconfigure with override  
go

sp_configure 'xp_cmdshell',1
go
reconfigure
go


--2.创建数据库
create database wc 
go


use wc
go


--3.建表
create table xxdd
(
aa nvarchar(1000),
bb nvarchar(1000),
cc nvarchar(1000),
dd nvarchar(1000),
ee nvarchar(1000),
ff nvarchar(1000)
)
go



--4.导出格式文件,这个是关键,数据库名称,表名称,用户名和密码,服务器ip和端口
--都改成你自己的
exec xp_cmdshell 'bcp wc.dbo.xxdd format nul -t "," -f c:\wc.fmt -c -Usa -Pyupeigu -S 192.168.1.106,1433'
go


--5.
/* 这里建立一个c:\wc.csv  文件,内容如下:
aa,bb,cc,dd,ee,ff
42222222223432432432,32432432432432432432,2332432432,32432432432,32432432,23432432
42222222223432432432,32432432432432432432,2332432432,32432432432,32432432,23432432
42222222223432432432,32432432432432432432,2332432432,32432432432,32432432,23432432
42222222223432432432,32432432432432432432,2332432432,32432432432,32432432,23432432

*/



--6.先查看要导入的数据
select *
from 
openrowset(bulk 'c:\wc.csv',             --要读取的文件路径和名称 
                formatfile='c:\wc.fmt',  --格式化文件的路径和名称
                
                firstrow = 2,            --要载入的第一行,由于第一行是标题,所以从2开始
                --lastrow  = 1000,       --要载入的最后一行,此值必须大于firstrow
                
                maxerrors = 10,          --在加载失败之前加载操作中最大的错误数
                --errorfile ='c:\wc_error1.txt', --存放错误的文件
                
                rows_per_batch = 10000                    --每个批处理导入的行数
          ) as t 

/*
aa	bb	cc	dd	ee	ff
42222222223432432432	32432432432432432432	2332432432	32432432432	32432432	23432432
42222222223432432432	32432432432432432432	2332432432	32432432432	32432432	23432432
42222222223432432432	32432432432432432432	2332432432	32432432432	32432432	23432432
42222222223432432432	32432432432432432432	2332432432	32432432432	32432432	23432432
*/



--7.最后可以 insert into 表 (列)  select * from openrowset...插入数据即可
insert into xxdd (aa,bb,cc,dd,ee,ff)
select *
from 
openrowset(bulk 'c:\wc.csv',             --要读取的文件路径和名称 
                formatfile='c:\wc.fmt',  --格式化文件的路径和名称
                
                firstrow = 2,            --要载入的第一行,由于第一行是标题,所以从2开始
                --lastrow  = 1000,       --要载入的最后一行,此值必须大于firstrow
                
                maxerrors = 10,          --在加载失败之前加载操作中最大的错误数
                --errorfile ='c:\wc_error1.txt', --存放错误的文件
                
                rows_per_batch = 10000                    --每个批处理导入的行数
          ) as t 



--8.插入数据后,查询数据
select *
from xxdd

1
0
查看评论

csv文件导入sql server常遇到的错误

1、由于为列"***"指定了多个代码页(936和1252),无法处理此列 . 在SQL Server 2008中将公司数据库中某个表的数据导出到文本文件(UTF-8)中,然后带回家之后通过SSIS导入到家里的电脑(936)中去,导如的过程中发现如下错误: ..........
  • fengjun_jlpsbc
  • fengjun_jlpsbc
  • 2017-01-06 14:19
  • 2435

把CSV文件导入到SQL Server表中

数据表导入导出应用
  • zhejingyuan
  • zhejingyuan
  • 2013-08-22 15:25
  • 20732

利用bulk insert指令来将csv文件导入SQL Server

之前在网上下了许多csv格式的数据。通过数据库导入感觉有点麻烦,于是打算写个脚本来执行。通过搜索,发现用bulk insert指令可以完成这一功能。然而在执行的过程中,MSSQL总是报错称 大容量加载失败。数据文件中第 1 行的第 46 列太长。请验证是否正确指定了字段终止符和行终止符。 无法...
  • u014595019
  • u014595019
  • 2015-08-13 23:55
  • 3199

sql server 直接导入excel文件或.csv文件

方法网上很多,粘下如何导入.csv 数据源选择“平面文件源”,文件名就是.csv路径,如下图: 在高级里面可以设置每列的数据类型和大小,outputcolumnwidth最好大点(文件流截断错误就是这里不够大) 其他不用改动,完成。如果正常就结束了。 但数据比较多时,经常遇到不顺利的情况 ...
  • sunho89
  • sunho89
  • 2016-03-16 17:46
  • 2715

使用Python将csv文件批量化导入SQL Server

一开始的时候,是想用bulk insert的方法直接将csv文件导入数据库的,后来发现这一方法在SQL语法上是可行的,但是由于Python需要pymmsql包来与SQL Server交互,而这个包似乎并不支持这一语句=。= 无奈只能另想办法,曲线救国,先将csv文件读取到内存中,然后用cursor....
  • u014595019
  • u014595019
  • 2015-08-19 12:14
  • 3929

将多个CSV批量导入SQL Server表中

将多个CSV批量导入SQL Server表中
  • jyh_jack
  • jyh_jack
  • 2016-02-18 14:17
  • 2386

SQL查询CSV文件方法

SELECT * FROM OPENROWSET(MSDASQL,Driver={Microsoft Text Driver (*.txt; *.csv)};DEFAULTDIR=E:/;Extensions=CSV;, SELECT * FROM book1.CSV)
  • htl258
  • htl258
  • 2009-07-28 21:40
  • 3275

将CSV格式文件导入SQLSERVER数据库

/// /// 通过文件流的方式来读取CSV文件 /// /// 文件名称 /// 第一行是否为列标题 /// 分隔符 /// public DataTable ReadCsvFileToTable(strin...
  • T_Tanglei
  • T_Tanglei
  • 2015-02-25 10:25
  • 599

导入CSV到SQL SERVER 问题

  • 2010-03-18 08:21
  • 568B
  • 下载

【SQL Server数据迁移】把csv文件中的数据导入SQL Server的方法

--修改高级参数 sp_configure 'show advanced options',1 go --允许即席分布式查询 sp_configure 'Ad Hoc Distributed Queries',1 go --如果配置的值不在合理范围(在最小值最大值...
  • yupeigu
  • yupeigu
  • 2013-10-10 17:09
  • 6889
    个人资料
    • 访问:526371次
    • 积分:9035
    • 等级:
    • 排名:第2474名
    • 原创:362篇
    • 转载:14篇
    • 译文:1篇
    • 评论:137条
    博客专栏
    最新评论