环境
SQL Server 2012 + CentOS 6.3
问题描述
只具有生产库的登录、查询、创建临时表权限,缺失导入数据(比如Excel文件、txt文档、sql脚本等等)权限,需要创建临时表,插入测试数据。
问题模拟
由于生产库的数据是敏感数据,并且数据量非常大,当然不能提供出来。这里只是对这个问题进行一个模拟。数据量少和数据量大操作方法是一样的。
问题解决
我们可以这样:
这是Excel中的源数据,如图1:
图1 Excel 源数据
Step 1,首先把源数据(Excel中的数据)拷贝出来,或者另存为csv文件(以逗号作为分隔),然后重命名后缀为txt。这里的文件名假设为source.txt,然后把行首标题去掉;
6789,Robin,朱二,成都 1234,justdb,张三,泸州 4567,HelloWorld,李四,广州 5678,CSDN Blog,王五,中山 1331,Wen,邓六,深圳 3142,Wentasy,徐七,长沙 4131,Fantasy,燕八,昆明
Step 2,源数据准备好了,那现在我们切换到Linux环境下开始对数据进行处理。观察源数据中有四列数据,那么我们需要分隔数据。这里采用awk处理。代码如下:
#-F表示以逗号作为分隔,把源数据中的每列分别保存为新的四个文件
awk -F","'{print $1}' source.txt > source1.txt
awk -F","'{print $2}' source.txt > source2.txt
awk -F","'{print $3}' source.txt > source3.txt
awk -F","'{print $4}' source.txt > source4.txt
源数据如下:
[root@robin opt]# cat source.txt
1234,justdb,张三,泸州 4567,HelloWorld,李四,广州