数据库bcp导入导出批处理工具

应公司策划要求,需要一个数据库按表导入导出的工具配合svn来进行差异匹配,方便策划每天对数据库修改的记录工具,我使用bcp命令实现如下批处理工具,中间踩了不少坑,现保存在这边希望可以帮到需要此工具的同学。

::数据库地址
set ip=127.0.0.1
::数据库帐号
set login=sa
::数据库密码
set passward=Passward
::数据库名称
set dataBase=MyDBName
::保存txt文件的路径
set filePath=d:\data::导入到数据库 (这边的way注释掉上面的in则是从数据库导出到txt,注释掉下面的则是从txt导入到数据库)
::set way=in
::导出到txt文本
set way=out

::这边先创建文件夹,按个人需求改
md %filePath%

::这边填写数据库表名
set dataTable=table1 table2 table3 table4 table5 table6

::这边是根据导入还是导出进行一个删除数据库表的操作,因为bcp导入到数据库时如果原先数据库有数据会出现重复键不让插入的错误导致插入失败
if %way% == in (for %%i in (%dataTable%) do osql -S %ip% -U%login% -P%passward% -Q "TRUNCATE TABLE %dataBase%..%%i" )

::这边是一个表数据的导入导出操作,使用bcp命令
for %%i in (%dataTable%) do bcp %dataBase%..%%i %way% %filePath%%%i.txt -c -S %ip% -U%login% -P%passward%

pause

将代码复制到txt文件中,修改相应参数,保存文件为bat格式即可使用,sqlserver 2008 sqlserver2012测试可使用

bcp命令需要安装SQLManagementStudio工具,关于工具就不再描述了,网上可以搜到很多资料

数据库bcp导入导出批处理工具,布布扣,bubuko.com

时间: 2024-08-02 23:10:35

数据库bcp导入导出批处理工具的相关文章

Linux数据库的导入导出

Linux数据库的导入导出 1.导入数据库 mysql -u username -p test < /home/data/test.sql 说明:username是数据库用户名,test为目标数据库 2.1.导出整个数据库 mysqldump -u username -p test > /home/data/test.sql 说明:username是数据库用户名,test源数据库 2.2.导出数据库中某张表 mysqldump -u username -p test documents >

数据库的导入导出

一.导出: 打开CMD,输入命令: exp Username: test@orcl Password: Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – 64bit Production With the Partitioning, Real Application Clusters and Data Mining options Enter array fetch buffer size: 409

数据库的导入 导出

Oracle  学习笔记 一.创建 oracle 数据库 利用 已经创建完了数据库 car1 , 二.利用 语句创建一个新的用户,赋予用户新的权限. (创建一个用户,对应的给这个用户创建一个方案,里面存储着这个用户的东西) 创建用户  create   user  ,一般是具有dba权限的用户才可以进行创建 Create user  admin  identified by  wqhadmin; (密码要以字母开头,用数字开头是不允许的) 但是创建完后,用户没有任何权限 Grant  conne

自用Postgres 数据库的导入导出脚本

工作中时常给开发和测试导入导出一些测试的数据库,于是写了一个脚本方便操作. 公司目前使用的是postgres9.3数据库. #!/bin/bash #定义一些变量和操作命令 DBS="db1 db2 db3 db4" EXPDB_CMD=/usr/pgsql-9.3/bin/pg_dump DBCMD=/usr/pgsql-9.3/bin/psql DBUSER=postgres DBSVR=mydbhost1 #导出数据库 function exportdb() {   read -

winform做的excel与数据库的导入导出

闲来无事,就来做一个常用的demo,也方便以后查阅 先看效果图 中间遇到的主要问题是获取当前连接下的所有的数据库以及数据库下所有的表 在网上查了查,找到如下的方法 首先是要先建立一个连接 _connMaster = new SqlConnection( String.Format("Data Source={0};Initial Catalog=master;User ID={1};PWD={2}", _host, _userName, _pwd)); 请注意 Catalog=mast

SQL Server数据库中导入导出数据及结构时主外键关系的处理

2015-01-26 软件开发中,经常涉及到不同数据库(包括不同产品的不同版本)之间的数据结构与数据的导入导出.处理过程中会遇到很多问题,尤为突出重要的一个问题就是主从表之间,从表有外检约束,从而导致部分数据无法导入. 情景一.同一数据库产品,相同版本 此种情况下源数据库与目标数据库的数据结构与数据的导入导出非常简单. 方法1:备份源数据库,恢复到目标数据库即完成. 方法2:使用SQL Sever数据库自带的[复制数据库]功能或者[导入数据]功能按照向导操作即可. 情景二.同一数据库产品,不同版

数据库文件导入导出

用pl/sql developer导出表的数据时有三种方式: Oracle Export,Sql Insert,pl/sql developer 导出步骤: 1 tools ->export tables-> Oracle Export 选择选项导出.dmp文件 2 tools ->export user object 选择选项,导出.sql文件 导入步骤: 1 tools->import talbes->Oracle Import然后再导入dmp文件 2 tools->

数据库数据导入/导出报错:无法在只读列“Id”中插入数据。

本文仅供小白参考,大佬请随意...... 本例是:从vs 2017自带的localDB数据库的数据---导出到---->Sql Server 2008中的相应数据库中 1. 导出数据库: 2. 导入的目标数据库: 3. 下一步*n---->完成 4. 爽一下后连续报错开始: 上面两个错误的前提是:我的Sql Server中数据库是先手动建立了同名数据库, 然后从localDB相应数据库右键--->任务--->生成脚本--->选择特定数据库对象--->全选所有表---&g

sql server 数据库之间导入导出数据表

1.点击源数据库右键->任务->导出数据 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.