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

[sql] view plaincopy在CODE上查看代码片派生到我的代码片

    1. --1.修改系统参数  
    2. --修改高级参数  
    3. sp_configure 'show advanced options',1  
    4. go  
    5.   
    6. --允许即席分布式查询  
    7. sp_configure 'Ad Hoc Distributed Queries',1  
    8. go  
    9.   
    10. --如果配置的值不在合理范围(在最小值最大值范围内),那么可以强制覆盖  
    11. reconfigure with override    
    12. go  
    13.   
    14. sp_configure 'xp_cmdshell',1  
    15. go  
    16. reconfigure  
    17. go  
    18.   
    19.   
    20. --2.创建数据库  
    21. create database wc   
    22. go  
    23.   
    24.   
    25. use wc  
    26. go  
    27.   
    28.   
    29. --3.建表  
    30. create table xxdd  
    31. (  
    32. aa nvarchar(1000),  
    33. bb nvarchar(1000),  
    34. cc nvarchar(1000),  
    35. dd nvarchar(1000),  
    36. ee nvarchar(1000),  
    37. ff nvarchar(1000)  
    38. )  
    39. go  
    40.   
    41.   
    42.   
    43. --4.导出格式文件,这个是关键,数据库名称,表名称,用户名和密码,服务器ip和端口  
    44. --都改成你自己的  
    45. exec xp_cmdshell 'bcp wc.dbo.xxdd format nul -t "," -f c:wc.fmt -c -Usa -Pyupeigu -S 192.168.1.106,1433'  
    46. go  
    47.   
    48.   
    49. --5.  
    50. /* 这里建立一个c:wc.csv  文件,内容如下:  
    51. aa,bb,cc,dd,ee,ff  
    52. 42222222223432432432,32432432432432432432,2332432432,32432432432,32432432,23432432  
    53. 42222222223432432432,32432432432432432432,2332432432,32432432432,32432432,23432432  
    54. 42222222223432432432,32432432432432432432,2332432432,32432432432,32432432,23432432  
    55. 42222222223432432432,32432432432432432432,2332432432,32432432432,32432432,23432432  
    56.   
    57. */  
    58.   
    59.   
    60.   
    61. --6.先查看要导入的数据  
    62. select *  
    63. from   
    64. openrowset(bulk 'c:wc.csv',             --要读取的文件路径和名称   
    65.                 formatfile='c:wc.fmt',  --格式化文件的路径和名称  
    66.                   
    67.                 firstrow = 2,            --要载入的第一行,由于第一行是标题,所以从2开始  
    68.                 --lastrow  = 1000,       --要载入的最后一行,此值必须大于firstrow  
    69.                   
    70.                 maxerrors = 10,          --在加载失败之前加载操作中最大的错误数  
    71.                 --errorfile ='c:wc_error1.txt', --存放错误的文件  
    72.                   
    73.                 rows_per_batch = 10000                    --每个批处理导入的行数  
    74.           ) as t   
    75.   
    76. /*  
    77. aa  bb  cc  dd  ee  ff  
    78. 42222222223432432432    32432432432432432432    2332432432  32432432432 32432432    23432432  
    79. 42222222223432432432    32432432432432432432    2332432432  32432432432 32432432    23432432  
    80. 42222222223432432432    32432432432432432432    2332432432  32432432432 32432432    23432432  
    81. 42222222223432432432    32432432432432432432    2332432432  32432432432 32432432    23432432  
    82. */  
    83.   
    84.   
    85.   
    86. --7.最后可以 insert into 表 (列)  select * from openrowset...插入数据即可  
    87. insert into xxdd (aa,bb,cc,dd,ee,ff)  
    88. select *  
    89. from   
    90. openrowset(bulk 'c:wc.csv',             --要读取的文件路径和名称   
    91.                 formatfile='c:wc.fmt',  --格式化文件的路径和名称  
    92.                   
    93.                 firstrow = 2,            --要载入的第一行,由于第一行是标题,所以从2开始  
    94.                 --lastrow  = 1000,       --要载入的最后一行,此值必须大于firstrow  
    95.                   
    96.                 maxerrors = 10,          --在加载失败之前加载操作中最大的错误数  
    97.                 --errorfile ='c:wc_error1.txt', --存放错误的文件  
    98.                   
    99.                 rows_per_batch = 10000                    --每个批处理导入的行数  
    100.           ) as t   
    101.   
    102.   
    103.   
    104. --8.插入数据后,查询数据  
    105. select *  
    106. from xxdd 
原文地址:https://www.cnblogs.com/lykbk/p/dfedfefe2343434343.html