--最终的存储表
CREATE TABLE [dbo].[tab](filename varchar(100),
[列 0] [varchar](50) NULL, [列 1] [varchar](50) NULL, [列 2] [varchar](50) NULL,
[列 3] [varchar](50) NULL, [列 4] [varchar](50) NULL, [列 5] [varchar](50) NULL,
[列 6] [varchar](50) NULL, [列 7] [varchar](50) NULL, [列 8] [varchar](50) NULL,
[列 9] [varchar](50) NULL, [列 10] [varchar](50) NULL, [列 11] [varchar](50) NULL,
[列 12] [varchar](50) NULL
) ON [PRIMARY]

GO
--存放文件内容的中间表
Create table tab1(a varchar(5000))
GO
--存放目录中的所有文件名
Create table tab2(a varchar(5000))

--先把待处理的文件导入到临时表中
insert into tab2
EXEC xp_cmdshell 'dir d:\*.txt /b'

--用游标依次把文件导入到数据库的中间表中
declare @fn varchar(100),@sql varchar(100)
declare mc cursor scroll for
select * from tab2 where a is not null
 
--打开游标 
open mc

-- 
fetch next from mc into @fn
while @@FETCH_STATUS=0
begin
--
truncate table tab1

--把文件信息导入到中间表中
set @sql = 'bcp test..tab1 in d:\' + @fn + ' -T -c'
exec master..xp_cmdshell @sql

--转换中间表的格式再存入到指定的表中
insert into tab
select @fn,[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13] 
from (
select ID, row_number() over(partition by id order by new_no ) new_no,col=substring(t.a,b.number,charindex('|',t.a+'|',b.number)-b.number)
from (select ROW_NUMBER() over(order by a ) ID,GETDATE() new_no ,* from tab1)  t
join master..spt_values b on b.type='P'
where charindex('|','|'+t.a,b.number)=b.number and PATINDEX('%|%',t.a) > 0
)tt pivot (max(col) for new_no in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13])) as t

--
fetch next from mc into @fn
end

-- 销毁游标
close mc
deallocate mc

-- 查看结果
select * from tab

--清除数据
truncate table tab
truncate table tab1

truncate table tab2

---------------------------------------问题描述-----------------------------------------------

在同一目录下,有几千个txt文件。
1、每个文件名都包含有重要信息,需要利用;
2、每个txt文件的结构是一样的:以|分列,以;分行保存的一些数据。
像这样的
3、每个txt文件的最后一个;后面还有一个guid需要删除。
求助:
1、把所有文件名写入其自身,并复制多条,每行数据前加上文件名。
2、把每个txt文件末尾的guid删除。

如下:
文件名:cdg_431106_002_000599_20171106161301.txt
文件内容:
4311062017110031|431106|431106019002004036|4400102130000231373011|张三|302828197612026724|0599|类型1|360.00|20171106|37527|0000|O.K.;
4311062017110031|431106|431106030019007050|4400102130009582652011|李四|30282819540920061X|0599|类型2|360.00|20171106|37527|6218|未知原因。;
e532f6b37dd5a22b14dd87d237d6ef4e

批量处理大量TXT格式的数据导入到数据库中相关推荐

  1. 如何将txt格式的数据导入到MATLAB中,并绘制图线

    如何将txt格式的数据导入到MATLAB中,并绘制图线 1.把txt格式的文件复制到MATLAB的目录下,在txt文件上点击右键→Import Data→next→Finish, 在workspace ...

  2. vb mysql数据导入到mssql,[请教]怎样把*.txt文本的数据导入sql数据库中?

    我分两步走,先将文本文件导入到grid中,然后再上传到数据库.但是我测试下列代码来将文本文件导入时总是出错,不能成功导入,代码如下:Private Sub Command1_Click() On Er ...

  3. sqlbulkcopy mysql_c# SqlBulkCopy实现批量从数据集中把数据导入到数据库中

    今天遇到了一个导入类第一次见 SqlBulkCopy 可以实现从一个数据集导入到数据库中的表中 本来想从数据集中一条条遍历insert到库中 有了这个后发现: 只在把表与数据集的列做一下对应关系,再走 ...

  4. php如何导入数据,““php中如何将execl的数据导入到数据库中

    php中如何将execl的数据导入到数据库中 1.使用PHP Excel Parser Pro,但是这个软件为收费软件: 2.可EXCEL表保存为CSV,然后通过phpmyadmin或者SQLyog导 ...

  5. 文本的数据导入到数据库中 mysql

    文本的数据导入到数据库中 mysql 示例 演练 注意 mysql 从文件中读取数据 格式: load data infile 文件路径 into table 表名 文件路径: C:/Users/Ad ...

  6. php使用excel表格数据库数据,php使用excel表格数据库数据库-php中如何将execl的数据导入到数据库中...

    php中如何将execl的数据导入到数据库中 1.使用PHP Excel Parser Pro软件,但是这件为收费软件: 2.可将EXCEL表保CSV,然后通过 phpmyadmin 或者SQLyog ...

  7. php中怎么连接数据库中的表,php 连接 excel表格数据库数据-php中如何将execl的数据导入到数据库中...

    php中如何将execl的数据导入到数据库中 php导出大量数据的Excel: PHP从数据库分多次读取100万行记录,和分多次将100万行写入文本文件都没问题 Excel可以支持100万行记录,Ex ...

  8. 查询oracle数据库的表格数据类型,excel表格中如何查询数据库数据类型-我想把excel表格中的数据导入oracle数据库中,想在......

    在excel表里,什么是:字段.记录.数据类型.多工... declare @t table(id numeric(18,2)) insert into @t SELECT   col1 FROM   ...

  9. vb6将excel数据导入mysql_VB6.0如何实现将excel数据导入mssql数据库中

    我在VB6.0中的模块中加入了连接sql的语句,连接已经没有问题了,做登录系统和将sql的数据导入到excel中也没有问题,但就是不知如何实现将excel数据导入mssql数据库中,批量的导入,请.. ...

最新文章

  1. jdk 1.8 jdk8_JDK 8功能的可疑方面
  2. 信息学奥赛一本通 1088:分离整数的各个数 | OpenJudge NOI 1.5 28:分离整数的各个数位
  3. mysql事务会不会上锁_MySQL事务以及加锁机制
  4. 【报告分享】抖音品牌主页运营官方指导手册.pdf(附下载链接)
  5. Apple 企业开发者账号邓白氏码申请记录 ----转
  6. (四) Session管理 --《springboot与shiro整合》
  7. 干货,AES破解路程-生意参谋举例
  8. 梳理常见硬盘存储 I/O 接口相关简称
  9. ps放大素色图标(黑色特别有效)
  10. 使用Struts标签的基本配置
  11. python中sys.stdout和sys.stderr
  12. 第七章文件与数格式化
  13. 合肥耀之阳电商:店铺商品属性怎么样修改
  14. 决斗吧4G LTE:联发科helio步步紧逼,高通裁员步步惊心---国际电子商情
  15. 哈理工院赛-小乐乐搭积木
  16. App运营:怎么提升App下载安装量?
  17. flashwindow vb_VB6.0 加载ShockwaveFlash(flash)控件
  18. 这款开源终端工具逼格更高!比 Xshell 好用
  19. LED模拟与数字调光
  20. ADS系列 - 定向耦合器设计教程1

热门文章

  1. 第三章:电子商务平台选择
  2. 【SPFA + DFS/BFS】最短路的一个拓展题
  3. 前端HTML上传图片传BASE64数据,图片太大进行压缩
  4. 华为光猫HG8240的简单配置过程
  5. 其他:Pycharm 常用快捷键
  6. springboot mybatis 分页
  7. 数据结构 浙江大学 2019春期末考试
  8. 互斥 互斥的解决方案
  9. 十六进制解码_快速十六进制编码和解码
  10. 【c语言中的运算符】