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

时间:2024-11-29 11:34:14

[sql] view plaincopy【SQL Server数据迁移】把csv文件中的数据导入SQL Server的方法【SQL Server数据迁移】把csv文件中的数据导入SQL Server的方法

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