博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
批量导入数据到mssql数据库的
阅读量:4965 次
发布时间:2019-06-12

本文共 1569 字,大约阅读时间需要 5 分钟。

概述

批量导入数据到数据库中,我们有好几种方式。

  1. 从一个数据表里生成数据脚本,到另一个数据库里执行脚本
  2. 从EXCEL里导入数据

上面两种方式,导入的数据都会生成大量的日志。如果批量导入5W条数据到数据表里,就有生成5W条insert日志。那么这有好的方式处理这个问题吗?

下面介绍另一种导入方式,批处理导入。

批处理导入数据

步骤一

准备一个空的数据表Table,将你要导入的数据,全部导入到这个Table里,当然,这个数据表Table和你要导入的表结构是一模一样的。之后新建一个记事本,里面写上如下的批处理命令,保存命名为import.bat

bcp [Test].dbo.Table OUT "d:/test.txt" -c -S 192.168.1.1 -U sa -P 123456pause

上面的命令-U -S -T分别是什么意思,见后文。当前,如果你的数据库身份验证是windows,如果写成

bcp [Test].dbo.Table OUT "d:/test.txt" -c -S 192.168.1.1 -Tpause

执行命令后,将得到一个记录得Table所有数据的test.txt文件。

步骤二

新建一个记事本,里面写批处理命令,将所有的数据都导入到指定的数据库表里

bcp "[Test].dbo.Table" in "d:/test.txt" -c -S (local) -U sa -P 123456pause

数据库身份验证是windows,写成

bcp "[Test].dbo.Table" in "d:/test.txt" -c -S (local) -Tpause

bcp批处理命名解释

[Test].dbo.Table:数据库表名

d:/test.txt :要导入的数据

-S  server_name[ \instance_name] ,后面填的是服务器,上面是 (local),当然,填 . 也行

-U login_id,后面指的是服务器登陆用户名

-P password,后面指的是服务器登陆密码

-T 指定 bcp 实用工具通过使用集成安全性的可信连接连接到 SQL Server。不需要网络用户的安全凭据、login_id  password。如果不指定 –T,则需要指定 –U  –P 才能成功登录

解释完上面之后,接下来解释一下d:/test.txt

这个文本里的数据是有格式的,数据表里有多少个字段,这里面就应该有多少字段,每个字段对应着数据表里的字段,中间用Tab键隔开。例如:

51006    NULL    bbbbbbbbbbbbbbB    2015-12-31 00:00:00.000    0    NULL    1.00000    2    1    2015-02-09 12:08:28.017    jys    2015-02-09 12:08:28.017    jys    0

51007    NULL    aaaaaaaaaaaaaaB    2015-12-31 00:00:00.000    0    NULL    1.00000    2    1    2015-02-09 12:08:28.017    jys    2015-02-09 12:08:28.017    jys    0
51008    NULL    ccccccccccccccB    2015-12-31 00:00:00.000    0    NULL    1.00000    2    1    2015-02-09 12:08:28.017    jys    2015-02-09 12:08:28.017    jys    0

如果第一列是自增ID,你填写的数值无效的,数据库会自动自增。

结果

最后,执行批处理文件命令即可,这样,导入数据生成的日志只有一条。

 

转载于:https://www.cnblogs.com/jys509/p/4364790.html

你可能感兴趣的文章
grid网格布局
查看>>
flask简单的注册功能
查看>>
JSP常用标签
查看>>
dashucoding记录2019.6.7
查看>>
IOS FMDB
查看>>
编码总结,以及对BOM的理解
查看>>
九涯的第一次
查看>>
Android中全屏或者取消标题栏
查看>>
处理器管理与进程调度
查看>>
页面懒加载
查看>>
向量非零元素个数_向量范数详解+代码实现
查看>>
java zip 中文文件名乱码_java使用zip压缩中文文件名乱码的解决办法
查看>>
java if 用法详解_Java编程中的条件判断之if语句的用法详解
查看>>
java -f_java学习笔记(一)
查看>>
java 什么题目好做_用java做这些题目
查看>>
java中的合同打印_比较方法违反了Java 7中的一般合同
查看>>
php 位运算与权限,怎么在PHP中使用位运算对网站的权限进行管理
查看>>
php include效率,php include类文件超时
查看>>
matlab sin函数 fft,matlab的fft函数的使用教程
查看>>
wcdma下行如何解扩解扰 matlab,WCDMA技术基础.ppt
查看>>